qwt编程使用(二)

本帖子主要写,我对qwt的一些常用类的使用和理解。新手入门快速查询很有用,挑了下重要类。


按照官方qwt 6.1的class list顺序依次介绍。


QwtEventPattern

主要在qwtplotpick和qwtplotzoomer中经常使用,用来设置绑定的动作。如QwtPickerClickPointMachine里面就定义了对默认动作的响应,通过该类修改。

QwtLegend

就是曲线的图例类。有很多用法请参考qwt playground和example里面代码。

QwtLinearScaleEngine

qwtplot的线性比例尺计算类。通过该类可以帮助计算出major/minor/medium tick。它满足的最小步长关系为{1,2,5}*x^n,x是底,在构造函数可以指定。

QwtLogScaleEngine

同线性比例尺计算类。最小步长关系为{1,2,3,5}*x^n。

QwtLogTransform

所有transform类的主题都是提供从“X到Y(X)”和“Y(X)到X”的成员方法。QwtLogTransform就是提供了y=log(x)的转化。而这个转化在计算比例尺,计算坐标点值等方面都有很大的作用。

QwtPainter

我认为就是对QPainter做了一次封装。提供了画线,画图等等基本作图的方法。

QwtPanner

提供了对QWidget对象和其子类对象进行上下左右平移的功能。与picker,zoomer等等一样通过QwtEventPattern修改默认的动作行为。而与QwtPlotPanner区别就是:前者可以对QWidget操作,后者是对plot的canvas对象操作。类似还有qwtpicker与qwtplotpicker。

QwtPicker

主要提供对QWidget对象的选择。在实际中多使用它的子类qwtplotpicker。

QwtPicker****Machine

qwtpicker类的状态机,实现选点,选线,选矩形,选多边形等等功能。提供了默认的动作响应操作。

QwtPickerClickPointMachine A state machine for point selections
QwtPickerClickRectMachine A state machine for rectangle selections
QwtPickerDragLineMachine A state machine for line selections
QwtPickerDragPointMachine A state machine for point selections
QwtPickerDragRectMachine A state machine for rectangle selections
QwtPickerMachine A state machine for QwtPicker selections
QwtPickerPolygonMachine A state machine for polygon selections
QwtPickerTrackerMachine A state machine for indicating mouse movements

QwtPlot

二维平面坐标曲线绘制的核心类。方法繁多,需要自己查看。QwtPlot是一个多个复杂控件构成如QFrame,QwtScaleDive等等。要对QwtPlot进行设置就要了解QwtPlot包含的组合控件。

QwtPlotCanvas

画布,就是QwtPlot包含的一个控件。父类是QFrame。

QwtPlotCurve

代表曲线的类。也是核心类。它是由两个类构成,一个是qwt可绘制的类和一个qwt存储数据点的类。方法也是很多,要自己反复查看。

QwtPlotDict

字典类,用于获得指定plot中所有对象/特定对象的指针,以便对plot中的子对象操作。

QwtPlotDirectPainter

增量绘制painter,在plot中绘制好了曲线,点等等可绘制对象。如果要添加新对象,而不想调用repaint/replot(效率考虑),可以使用增量绘制,但是绘制的对象会覆盖旧对象。

QwtPlotGrid

网格类,核心类。提供了主网格线和次要网格线。网格绘制默认依附于默认轴,可以修改不依附,或更改依附轴。依附轴时,主网格线就是轴的major ticks,次网格线是minor/medium tick。

QwtPlotItem

可绘制对象的基类。所有要绘制的对象都要继承自该基类。如果要自定义绘制对象,就要继承这个类。

QwtPlotLayout

布局类。用于打印等等场合。

QwtPlotMagnifier

plot的放大类。功能不如zoomer强大。

QwtPlotMarker

用于在plot中进行标记,标注。完全可以自定义形状,风格等。

QwtPlotPanner & QwtPlotPicker

参考QwtPanner和QetPicker介绍。

QwtPlotScaleItem

plot比例尺类。要包含描述刻度的qwtscalediv对象和描述轴风格的qwtscaledraw。可以设置比例尺的文字等等。

QwtPlotSeriesItem

plotcurve中存储数据点的类。主要是用于方便产生指定一系列点。而不需要手动将每一个点显式给出。比如产生200个y=logx的曲线的点。只要继承重写x()函数。

QwtPlotShapeItem

plot中绘制形状的基类。比如圆,星星,三角形等等。

QwtPlotZoneItem

用于在plot中绘制一条高亮显式的区间。

QwtPlotZoomer

缩放一个plot相关的对象。可以N级缩放。采用栈保存以前的结果来实现自由缩放。

QwtPointMapper

有几个方便的成员函数,用于几种类型间的转化。

QwtPowerTransform

参见QwtLogTransform。之后将不解释Transform类。

QwtScaleDiv

主要是处理轴的刻度,核心类。包括大刻度(Major Tick),中刻度(Medium Tick),小刻度(Minor Tick),步长。

QwtScaleDraw

主要处理轴的显式样式,核心类。比如方向,轴线粗细等等风格设置。

QwtScaleEngine

计算大刻度(Major Tick),中刻度(Medium Tick),小刻度(Minor Tick),步长的基类。

QwtScaleMap

提供了plot中坐标系的坐标与QPainter实际绘制坐标之间的相互转化。特别重要的类。

QwtSymbol

plot曲线上的点可以使用该类来描述。从而可以设置曲线上点显示的风格。

QwtTransform

参考QwtLogTransform

QwtWidgetOverlay

效率优化类。如果在plot中需要大量的重复绘制,设置一个Overlay到指定区域,指定区域选择合适属性可以提高绘制效率。

你可能感兴趣的:(qwt编程使用(二))