qwt学习(一)
qwt是什么?
qwt全称是Qt Widgets for Technical Application,是一个画图组件的Qt类库包。他属于第三方库,基于Qt开发。
QWT常见类功能相关简介。
QwtAbstractScale:包含刻度尺所有类的抽象基类。
QwtAbstractScaleDraw:绘制刻度尺的抽象基类。
QwtAbstractSlider:滑块部件的抽象基类。
QwtAlphaColorMap:可以改变颜色的alpha值。
QwtAnalogClock:时钟的模拟类。
QwtArrayData:包含2个QwtArray<double>实例的数据类。
QwtArrayButton:箭头按钮。
QwtClipper:剪切板类。
QwtColorMap:提供数值到颜色的映射功能。
QwtCompass:指南针部件。
QwtCompassMagnetNeedle:指南针部件磁针。
QwtCompassRose:罗盘部件的抽象基类。
QwtCompassWindArrow:风向标的指示器。
QwtPlot:地基容器,里面可放其他对象。
QwtPlotItem:负责控制绘图数据的产生和传递,并绘制一个坐标轴。
QwtPlotCurve:曲线类,用于绘制各种曲线。
QwtPlotMarker:标尺类。
QwtData:定义任何曲线类型的数据接口。
QwtPlotGrid:网格类。
QwtPlotHistigram:直方图。
QwtPlotBarChart:条形表图。
QwtPlotMultiBarChart:成组的条形图表-堆叠或并排对齐。
QwtPlotShapeItem:显示矩形,圆,多边形和其他所有形状的plot item。
QwtPlotTextLabel:和QwtPlotMarker相反,文本不是基于plot坐标排列,而是根据画布的几何形状。
QwtDate:在QDateTime和Double之间转换的方法的集合。
QwtPlotPanner:平移器(用鼠标左键平移)。
QwtPlotMagnifier:放大器(用鼠标滚轮缩放)。
QwtPlotCanvas:画布。
QwtScaleDraw:自画坐标轴。
QwtScaleMap:比例图(可以提供一个逻辑区域到实际区域的坐标轴转换)。
QwtScaleWidget:比例窗口。
QwtScaleDiv:比例布局。
QwtLegend:标注。
QwtPlotLayout:布局管理器。
部分类继承关系图。
QwtPlot类继承至QFrame和QwtPlotDict,他是一个视图窗口,真正的绘制设备是他的中心部件QwtPlotCanvas类,在QwtPlot的画布上可以显示不限数量的图元项,这些图元项可以是曲线(QwtPlotCurve),标签(QwtPlotLegend),网格(QwtPlotGrid),或者其他任意的从QwtPlotItem派生出来的子类。
在QwtPlot中所有图元的绘制都是源于QwtPlotCanvas类的paintEvent(),这个函数最终会调用图元的基类方法QwtPlotItem::draw()=0,来绘制图元自己。
调用Qwt的一般流程。
- 建立plot对象。
- 建立canvas对象,设置canvas属性并调用plot.setCanvas()方法(可以不设置,plot有自己默认的canvas)。
- Qwt图元类建立对象,如曲线(QwtPlotCurve),网格(QwtPlotGrid)等等,设置对应属性方法后加载到plot,调用本身的attch()函数,需要加载才能显示的图元就调用setSamples函数。
- 当顶层窗口调用show()函数的时候,所有图元就被画出。