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

今天我們爲大家介紹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 <QtDataVisualization> using namespace QtDataVisualization

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

  • End -

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章