一、QWT 简介
QWT,即Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目, 可生成各种统计图,是为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等。QWT工具库是基于Qt开发的,继承了Qt的跨平台特性
1 ====> zip解压后,
2 1) 打开 qwt.prf, 取消下面的注释后, 选择 Release 模式编译
3 QMAKE_RPATHDIR *= $${QWT_INSTALL_LIBS}
4 2) 打开 qwtconfig.pri 取消下面注释
5 QWT_CONFIG += QwtExamples
6 QWT_CONFIG += QwtPlayground
7
8 // Qwt的基类有以下几个
9 QwtAbstractScale: 包含刻度尺的所有类的抽象基类
10 QwtAbstractScaleDraw:绘制刻度尺的抽象基类
11
12 QwtArrayData:包含2个QwtArray<double>实例的数据类
13 QwtColorMap:提供数值到颜色的映射功能
14 QwtClipper:剪贴板类
15
16 QwtAbstractSlider:滑块部件的抽象基类
17 QwtAnalogClock:时钟的模拟类
18 QwtArrowButton:箭头按钮
19
20 QwtCompass:指南针部件
21 QwtCompassMagnetNeedle:指南针部件的磁针
22 QwtCompassRose:罗盘部件的抽象基类
23 QwtCompassWindArrow:风向标的指示器
二、QCustomPlot
QCustomPlot 是一个超强超小巧的qt绘图类,非常漂亮,非常易用,只需要加入一个qcustomplot.h和qcustomplot.cpp文件即可使用,远比qwt方便和漂亮,可以自己使用两个源文件也可以自己编译成库文件,非常方便。
1 使用QCustomPlot非常简单, 只需:
2 1) QT += widgets printsupport
3 2) 把qcustomplot.cpp和qcustomplot.h拷贝到工程目录下,然后把这两个文件引入工程项目即可
4 3) 右键Widget窗体,选择提升为QCustomPlot即可
5 4) 绘图时
6 customPlot->graph(0) //添加一个曲线图层 setName和name函数分别设置和获取曲线的名字
7
8 void setData (QCPDataMap*data, bool copy=false)
9 void setData (const QVector<double > &key, const QVector<double > &value)
10 // 追加数据
11 void addData (const QCPDataMap&dataMap)
12 void addData (const QCPData&data)
13 void addData (double key,double value)
14 void addData (const QVector<double > &keys, const QVector<double > &values)
15 // 设置完数据后可以对x,y轴进行设置
16 customPlot->xAxis->setLabel("x");
17 customPlot->yAxis->setLabel("y");
18 // 或者设置x,y轴的范围
19 customPlot->xAxis->setRange(-1,1);
20 customPlot->yAxis->setRange(0,1);
21 QCustomPlot::rescaleAxes()函数,它会自动设置最合适的显示范围
22
23 // QCustomPlot::replot 函数使图像进行重绘,show函数也会触发重绘事件
24 setInteractions(QCP::iRangeDrag | QCP::iRangeZoom); //移动和缩放