天天看点

QT-Qcustomplot-简单配置和基础坐标轴功能实现-(实时曲线、坐标轴可拖动、放大、缩小)

已经放弃Chart,太麻烦,难顶,效果也不太好,代码也繁琐

配置

1、官网下载:http://www.qcustomplot.com/

下载压缩文件即可,然后将其中的qcustomplot.cpp和qcustomplot.h文件拿出添加到自己的项目中就行咯,pro文件记得添加代码或自动添加

QT-Qcustomplot-简单配置和基础坐标轴功能实现-(实时曲线、坐标轴可拖动、放大、缩小)

2、安装帮助文档:F1即可查看,与qt中其他帮助文档功能一样

解压我们的QCustomPlot.tar.gz文件。把QCustomPlot\qcustomplot\documentation下的

qcustomplot.qch拷贝到Qt安装下面的Docs下面目录,例如我的是D:\Qt\Docs\Qt-5.5。然后在Qt Creator中

添加该帮助文档。打开Qt Creator,工具->选项->帮助->添加,找到我们帮助文档,点击确定,应用或者

OK。

一、基础设置

Plot = new QCustomPlot;
   Plot->addGraph();//添加一条新曲线
           

//设置画笔颜色

Plot->graph(0)->setPen(QPen(QColor(70,0,70)));
           

//设置坐标轴名称

Plot->xAxis->setLabel("x");
   Plot->yAxis->setLabel("y");
           

//设置坐标轴范围

Plot->xAxis->setRange(-2,2);
   Plot->yAxis->setRange(-1,3);
           

//添加或者设置数据

Plot->graph(0)->addData(x,y);
   Plot->graph(0)->setData(x,y);
           

//更改一些设置或者数后更新图像

Plot->replot();
           

二、功能添加

2.1 坐标轴可拖动,滚轮放大缩小,图像可选择
//设置可拖拽 滚轮放大缩小 图像可选择
    Plot->setInteractions(QCP::iRangeDrag | QCP::iRangeZoom | QCP::iSelectPlottables);
           
2.2 显示实时曲线
Plot->graph(0)->addData(x,y);
Plot->replot();
           

假如说用串口实时读取数据,可以每次读取数据后都调用添加曲线数据的函数,将数据点添加进去,然后replot就可以显示实时曲线。

继续阅读