技術小新 | Qt開發指南之Data Visualization模組解讀

語言: CN / TW / HK

今天我們為大家介紹Data Visualization模組,而在前一期已經講解過Qt Charts模組,如果說Qt Charts是一個2D介面,那我們這期要講的Data Visualization模組,妥妥是一個3D資料視覺化介面。 Data Visualization 是Qt提供的用於資料三維顯示的模組,Qt5.7以後此模組可免費使用。Data Visualization用於資料的三維顯示,包括三維柱狀圖、三維空間散點等。Data Visualization與Qt Charts類似,也是基於Qt的圖形檢視框架。

Data Visualization的三維顯示功能主要由3種三維圖形類來實現,分別是:三維柱狀圖類Q3Dbars、三維空間散點類Q3DScatter、三維曲面類Q3DSuface。而這3種圖形類的父類是QAbstract3DGraph,由Qwindow繼承而來。

file Data Visualization與Qt Charts類似,都基於Qt的圖形檢視結構,因此一個三維圖形也是由圖表、序列、座標軸等元素組成。Q3DBars、Q3DScatter、 Q3DSurface相當於Qt charts 中的QChart,而每一種三維圖形對應1種三維序列。 file 一種序列類只能用於某種三維圖形類,如QBar3DSeries只能用作三維柱狀圖Q33DBars的序列,而不能作為三維散點圖的序列。而一個圖中可以有存在多個同類型的序列,用於顯示不同的曲面。 與QChart有座標軸類一樣,三維圖形也有座標軸類。分為:QValue3DAxis(用於數值型座標軸)、QCategory3DAxis(用於文字型座標軸),且都繼承自QAbstract3DAxis。 file Data Visualization模型中有資料代理類,資料代理類就是與序列對應,用於儲存序列的資料的類。因三維圖形型別不一樣,儲存資料的結構也不一樣。為此,對於每一種序列,都有一個數據代理類,它們都繼承自QAbstractDataProxy,而每一個數據代理類還有一個基於項資料模型的資料代理子類,如下圖所示: file 對於三維曲面序列QSurface3DSeries,還有一個專門用於顯示地圖高程資料的資料代理類,即QHeightMapSurfaceDataProxy,它可以將一個圖片表示的高程資料顯示為三維曲面,並且使用者也可以根據自身需求自定義資料代理類。

若要在專案中使用Data Visualization模組,需要在專案配置檔案中新增一行語句: Qt += datavisualization 同時在使用該模組的類的標頭檔案或源程式檔案中,加入下面兩行語句:

include

using namespace QtDataVisualization

PS:本文內容參考自書籍《Qt5.9開發指南》,如有需要大家可自行前往瞭解。

  • End -

技術發展的日新月異,阿木實驗室將緊跟技術的腳步,不斷把機器人行業最新的技術和硬體推薦給大家。看到經過我們培訓的學員在技術上突飛猛進,是我們培訓最大的價值。如果你在機器人行業,就請關注我們的公眾號,我們將持續釋出機器人行業最有價值的資訊和技術。 阿木實驗室致力於為機器人研發提供開源軟硬體工具和課程服務,讓研發更高效!