从传感器实时获取的数据,从串口上传到上位机,上位机由QT开发,上位机如何通过实时动态曲线方式进行展示呢?网上主要有两种方式:1、使用qwt;2、QCustomPlot;两者都差不多,QCustomPlot貌似更灵活漂亮点,但是由于qwt还有其他控件,这次的选择是qwt。
/***************************************
转载请注明出处:tedeum.iteye.com
****************************************/
一、首先要定义和实例化一个QwtPlot,然后是一根曲线QwtPlotCurve,还有就是数据,由于QwtPlot是从设计器拉到界面,IDE做了这个工作就暂时不管了,如果没有IDE可以用代码写的:
//曲线
QwtPlotCurve * curve;
//X轴
double time[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
//Y轴
double val[10] = {3, 5, 8, 7, 2, 0, 7, 9, 1};
二、接下来就是把这些东西组装起来:
//实例化
curve = new QwtPlotCurve("Acc_X");
//加载数据
curve->setSamples(time, val, 10);
//加到plot,plot由IDE创建
curve->attach(ui->qwtPlot);
话不多说,一切尽在注释中,运行可以看见曲线绘制出来

本文介绍了如何在QT应用中使用Qwt库来创建动态实时曲线。首先定义并实例化QwtPlot和QwtPlotCurve,然后通过定时器模拟实时数据更新曲线。当有多条曲线同时显示时,可以通过点击图例来隐藏或显示特定曲线。这些关键步骤展示了Qwt在实时数据可视化中的应用。
最低0.47元/天 解锁文章
3805

被折叠的 条评论
为什么被折叠?



