[英]Qt5 QCustomPlot. Large graph in real time
我目前正在開發一個實時繪制ADC數據的應用程序。 在某些情況下,我必須繪制約15萬個點,這需要一些時間。 因此,問題在於數據到達的頻率可能比我繪制的頻率更高。
我不需要高幀率。 我也可以努力跳過一些數據。
我正在使用:OS Windows 7,Qt 5.5,QCustomPlot。
問題是: 在上一次重新繪制完成之前,如何完全防止重新繪圖以保持應用程序的響應速度?
謝謝。
您可以擁有一個僅接收新到達的數據並將其存儲在QVector
類的數據結構中的QVector
並使用QTimer
以一定的間隔定期使用接收到的數據更新繪圖。
因此,用於接收數據的插槽類似於:
void receiveData(QVector<double> data)
{
receivedData.append(data);
}
並且以一定間隔連接到定時器的timeOut
信號的插槽如下:
void receiveData()
{
plot->graph()->setData(keyVector, receivedData);
plot->replot();
}
這樣,繪圖僅在特定間隔內更新,而與輸入數據的速率無關。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.