用qcustomplot类画实时曲线replot()速度跟不上硬件采集数据的速度怎么办

sinat_35774390 sinat_35774390 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我现在在做一个界面,实时显示从硬件上采集得到的数据,画成曲线或者散点。最近在论坛中朋友的帮助下有了一点思路:创建一个子线程,在子线程中采集硬件数据,在主线程中用qcustomplot画图,子线程中发送数据信号,触发主线程的槽函数,在主线程的槽函数中画图。但是现在又出现了一个问题,就是在我做的这个界面上实时画图的速度跟不上硬件采集数据的速度。因为我的硬件有一个LCD屏幕,在这个屏幕上已经实现了实时画数据。两个一对比就发现qt界面上画图速度跟不上LCD上的画图速度。我的硬件采集数据的速度大概是每15ms采集一个点,界面上一次画127个点。而且感觉我的画图部分的代码也不多啊。。请问该怎样处理才能提高qcustomplot的画图速度?
下面是我的简略的代码,布局的代码没写,代码写得乱,请各位大神将就着看。。
[code=c++]
Widget.h
class Widget : public QWidget
{
Q_OBJECT

public:
explicit Widget(QWidget *parent = 0);
~Widget();

public slots:
void readData(unsigned int ledinx,int num);

private:
Ui::Widget *ui;
QCustomPlot *myplot;
Thread *myThread;
double key;
double data;
void realtimeDataSlot();
}


Widget.cpp
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
ui -> setupUi(this);
key = 0;
data = 0;

myplot = new QCustomPlot;
myplot -> addGraph(0);

myThread = new Thread;
connect(myThread,SIGNAL(UpdateSignal(unsigned int ,int)),this,SLOT(readData(unsigned int,int)));

myThread -> start();
}

void Widget::readData(unsigned int ledinx,int num)
{
key = ledinx;
data = num;
realtimeDataSlot();
}

void Widget::realtimeDataSlot()
{
myplot -> graph(0) ->removeData(key);
myplot -> graph(0) -> addData(key,data);

myplot -> replot();
}
[/code]
...全文

相关推荐

qcustomplot 动态实时曲线

环境:QT5.4 win7 用的的库:qcustomplot 此demo实现了动态实时曲线,静态曲线,和跟随鼠标获取polt线上的坐标值 代码有点粗糙,不过功能实现了,供学习参考

baishan9595925

C++ Qt QCustomPlot实时曲线绘制:从原理到高性能实现

在工业控制、数据监控和嵌入式开发中,实时数据可视化是核心需求,它涉及将动态数据流转化为直观的图形曲线。其技术原理通常基于高效的绘图库和缓冲区管理,通过优化渲染流程来保证界面的流畅性。这项技术的价值在于能够为工程师提供实时、准确的数据洞察,是构建监控系统、测试工具和数据分析平台的基础。在应用场景上,它广泛服务于传感器数据采集、网络性能监控和工业自动化等领域。本文聚焦于使用QCustomPlot这一高性能C++绘图库,深入探讨其架构原理、动态数据缓冲区设计以及性能优化技巧,特别是针对实时曲线绘制中的卡顿问题,提

weixin_34007906

用Qt+QCustomPlot打造PID调试上位机,实时曲线让调参一目了然

在嵌入式控制系统中,PID控制器是应用最广泛的控制算法,但参数整定往往依赖对系统响应过程的准确观察。传统串口打印数值的方式难以直观呈现动态过程,而实时曲线可视化技术能将目标值、反馈值和控制输出同步显示,帮助工程师快速识别超调、振荡和稳态误差。本文基于Qt框架与QCustomPlot组件,介绍如何构建一个轻量级PID调试上位机,涵盖串口通信协议设计、数据解析、绘图性能优化以及从曲线形态反推参数问题的调试方法。该方案适用于电机控制、温控系统、平衡车等场景,为开发者提供了一套可复用的可视化调参工具思路。

weixin_34357887

qt用QCustomPlot实现鼠标实时回调xy轴数据并显示在曲线内need.rar

该资源是qt用QCustomPlot实现鼠标实时回调xy轴数据并显示在曲线内的实现代码,详细请参考我的博客文章

大桶矿泉水

Qt基于Qcustomplot画曲线图

比官网上19个demo,还要多的示例

索朗嘉措
评论 9
收藏 已收藏
分享
返回顶部
sinat_35774390
Qt 21,503 成员 26,693 内容