gpt4 book ai didi

c++ - Qt5 QCustomPlot。实时大图

转载 作者:行者123 更新时间:2023-11-30 05:34:34 26 4
gpt4 key购买 nike

我目前正在开发一个实时绘制来自 ADC 的数据的应用程序。在某些情况下,我必须绘制大约 150k 个点,这需要一些时间。所以问题是数据到达的频率可能比我能够绘制的频率更高。

我不需要高帧率。我也可以努力跳过一些数据。

我正在使用:操作系统 Windows 7、Qt 5.5、QCustomPlot。

所以问题是:在上一次重新绘制完成之前我究竟如何防止重新绘制以保持应用程序响应?

谢谢。

最佳答案

你可以有一个槽,它只接收新到达的数据,并将它们存储在类似 QVector 的数据结构中。并使用 QTimer 在一定的时间间隔内使用接收到的数据定期更新绘图.

所以接收数据的槽是这样的:

void receiveData(QVector<double> data)
{
receivedData.append(data);
}

和连接到 timeOut 的插槽具有一定间隔的计时器信号如下:

void receiveData()
{
plot->graph()->setData(keyVector, receivedData);
plot->replot();
}

通过这种方式,绘图仅在特定的时间间隔内更新,与输入数据的速率无关。

关于c++ - Qt5 QCustomPlot。实时大图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34179467/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com