C++ Qt5 QCustomPlot。实时大图形

C++ Qt5 QCustomPlot。实时大图形,c++,qt,qcustomplot,C++,Qt,Qcustomplot,我目前正在开发一个实时绘制ADC数据的应用程序。在某些情况下,我必须绘制大约15万个点,这需要一些时间。 所以问题是数据到达的频率可能比我所能描绘的要高 我不需要高帧率。我还可以跳过一些数据 我使用的是:操作系统Windows7,Qt5.5,QCustomPlot 所以问题是:在上一次重新打印完成之前,如何防止重新打印以保持应用程序的响应? 谢谢。您可以使用一个插槽,该插槽只接收新到达的数据,并将它们存储在类似于QVector的数据结构中,并使用QTimer在特定时间间隔内使用接收到的数据定期更

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

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

我使用的是:操作系统Windows7,Qt5.5,QCustomPlot

所以问题是:在上一次重新打印完成之前,如何防止重新打印以保持应用程序的响应?


谢谢。

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

因此,用于接收数据的插槽如下所示:

void receiveData(QVector<double> data)
{
     receivedData.append(data);
}
void receiveData()
{
     plot->graph()->setData(keyVector, receivedData);
     plot->replot();
}
这样,绘图仅在特定的时间间隔内更新,与输入数据的速率无关