2015-04-03 87 views
1

我正在從流水線內移動的超聲波設備獲取流動測量數據,並且我想對這些測量值進行滑動/實時繪製。 Y軸代表管周圍的360度梯度,X軸代表長度方向的位置,單位爲毫米。換句話說,當新數據到達時,X軸將以與掃描儀相同的速率更新和移動(大約40Hz)。每個(x,y)座標處的值表示一個測量值,應該將其映射到顏色映射中的顏色。我已經看過QImage,QWT和QCustomPlot,但他們沒有一個人似乎直接解決了這個問題,而無需手動構建2D矩陣,將其繪製成一個QImage,並更新和移動每個數據點的座標並重繪以移動/滾動它。 QCustomplot爲圖表做了很好的處理,但我沒有看到它如何應用到他們的色彩映射中。在Qt中實現滑動實時2D繪圖

對於爲這種情節提供原語(或小部件)的框架或包提供的任何提示都會受到歡迎。

回答

0

這可以用Qwt完成。訣竅是在系列數據周圍創建一個包裝,每次添加數據點時都會觸發重新繪製。如果你想變得很花哨,你可以添加一個定時器來刪除系列中的舊數據並觸發另一個再現。

查看Qwt源代碼附帶的CPU,示波器和實時示例。他們實施這個技巧。

+0

謝謝!嘗試一下,並會讓你知道它是如何發生的。 – larslars 2015-04-05 17:22:11

+0

實際上我發現Qwt很難使用,但是我已經實現了使用基本QPainter繪製QPixmaps矩陣,然後在添加新項目時對其進行移位,並在paintEvents上重新繪製。 – larslars 2015-09-10 14:19:20