Qwt库简介

来源:互联网 发布:geohot编程能力 编辑:程序博客网 时间:2024/06/02 15:55
       Qwt库是一个提供一些主要用在科学相关背景下的图表绘制的GUI元件库。它提供了一些基本的二维绘图部件,例如函数图,柱状图,温度计,转轮式的控件,并提供缩放,移动等功能。可以支持任何Qt能够支持的系统环境,可以兼容Qt4(4.4版本以上)和Qt5版本。Qwt目前版本为6.1版,相比之前版本,提供了一些新的绘图控件,新增了在线性坐标和对数坐标间转换的函数,重新设计了旋钮控件和滑动控件等改动,还提供了对OpenGL的基本支持。
       Qwt具有较为完善的文档和丰富的实例程序,可以用来作为开发时的参考。

下面是一些用到的类的简介:
QwtAbstractSeriesStore:是QwtSeriesStore和QwtPlotSeriesItem之间的桥梁。能够把基于模板的方法和常规方法隔离。
QwtSeriesStore<T>:储存一个QwtSeriesData对象。
QwtSeriesData<T>:纯虚类,定义了对数据样本进行访问的抽象接口,如果想使用数据而不进行拷贝,推荐继承这个类进行数据访问。
必须实现一下接口:
size():返回数据的点数。
sample():返回制定位置点的x和y坐标。
boundingRect():计算所有数据的数据范围,可以使用自带的qwtBoundingRect()通过遍历每一个数据进行计算,为提高效率,推荐自己实现。

QwtPlotItem:是画图画布的基类。一个画图项是一个可以华仔画布上,或者只是影响画图控件一部分的对象。可以分为两类:呈现者,呈现一系列的数据,格局数据的特点有不同的形式。装饰着,显示一些与数据无关的附加信息。
QwtPlot:是二维画图控件,其他的绘制对象可以再它的画布上显示,绘制对象可以使任何从QwtPlotItem派生出来的类。绘制对象可以有4个坐标轴,坐标轴的尺寸可以显示的设置。
QwtPlotCanvas:是QwtPlot的画布部分,既函数显示区域。

QwtLegend:曲线标注的显示控件,可以自动根据曲线信息更新。
QwtScaleEngine:类是尺度引擎的基类。尺度引擎试图去找到“合理的”显示范围和每一步的显示尺寸。它的布局会随setAttribute而变化。
QwtScaleMap:提供一个从图像显示坐标和系统坐标的转换方式。示例中对直接使用QwtPlotCurve的函数调用一确定显示范围。
QwtScaleDiv:表现划分尺度的一个类。显示的确定例如每个坐标的尺度分配方式。
QwtScaleDraw:设置每个坐标轴的绘制特点,包括坐标轴,坐标轴上所标数据。
QwtScaleWidget:是一个坐标控件,包括坐标轴和对应标题,以及坐标轴整体的设置。

QwtPlotMagnifier类提供了分段的缩小放大工具。使用这个空间可以分段缩放,通过键盘、鼠标滚轮和移动鼠标。结合QwtPlotZoomer和QwtPlotPanner,他可以实现独立和功能强大的画图区域导航功能。
QwtPlotZoomer类提供了许多对于画图控件的缩放功能。QwtPlotZoomer从用户输入选择一个矩形区域,把它转换成画图坐标并调节坐标轴。放大可以被多次重复,限制由maxStackDepth和minZoomSize决定。每一次放大的矩形都被存放在栈中。
QwtPlotPicker提供了一个在画布上的选择区域,它提供了一个x坐标和y坐标的转换,把所有的像素坐标转换到图像的坐标系统。
QwtEventPattern提供了一个间接的鼠标键盘输入层。它使用重新定义的符号名,从而可以把这些操作映射成其他类型的操作。
QwtPlotPanner提供了对画布的平移。QwtPlotPanner是一个画布的平移器,他会调整坐标轴在把画布移动到新位置后。在拖拽画布过程中,坐标轴不会更新。

1 0