
只需一个头文件和实现文件,已打包成一个普通控件,不需要再写任何派生类。提供多种属性可供设置(包括X、Y轴自动范围调节、点、线的形状颜色等等),如下:
public slots:
void mousePressEvent(QMouseEvent* e);
void mouseReleaseEvent(QMouseEvent* e);
void mouseMoveEvent(QMouseEvent* e);
signals:
void holdmousepressd( QPoint&);//触摸屏长按事件
public:
enum
{
ATTR_NUM_XTicks = 0,//int
ATTR_NUM_YTicks,//int
ATTR_MIN_X,//double
ATTR_MIN_Y,//double
ATTR_SPAN_X,//double
ATTR_SPAN_Y,//double
ATTR_X_PRECISION,//int
ATTR_Y_PRECISION,//int
ATTR_COLOR_GRID,//QColor
ATTR_COLOR_EXTEND,//QColor
ATTR_COLOR_FRAME,//QColor
ATTR_COLOR_NUM,//QColor
ATTR_GRAPHRECT_COLOR,//QColor
ATTR_NO_RECTCOLOR,//bool
ATTR_BACKGROUD_COLOR,//QColor
ATTR_POINT_COLOR,//QColor
ATTR_GRID_STYLE,//int
ATTR_AUTOSCALE,//bool
ATTR_GRID_COLOR,
ATTR_TEXT_COLOR
};
enum _axisnum
{
X = 0,
Y
};
myQGraph( QWidget* parent=0, const char* name=0);
~myQGraph();
void showGraph();
void setGeometry( const QRect & );
void setPos(int x, int y, int w, int h);
void setBackgroudPicture( const QPixmap& );
void setCtrlAttribute(const int& controlAttribute,int controlValue);
void setGraphRect(const int& leftMargin, const int& topMargin,
const int& width, const int& height);
void GetCtrlBoundingRect(int &left, int &top, int &height, int &width);
void PlotPoint (double x, double y);
void refresh();
//void InsertAxisItem (_axisnum axis, char* itemLabel);
void setaxisNumpos(const int& axis, const QPoint& p);//X和Y轴上的坐标显示相对于短线的位置
};
我的邮箱
jiamengyu2004@yahoo.com.cn