技術小新 | 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繼承而來。
Data Visualization與Qt Charts類似,都基於Qt的圖形檢視結構,因此一個三維圖形也是由圖表、序列、座標軸等元素組成。Q3DBars、Q3DScatter、 Q3DSurface相當於Qt charts 中的QChart,而每一種三維圖形對應1種三維序列。
一種序列類只能用於某種三維圖形類,如QBar3DSeries只能用作三維柱狀圖Q33DBars的序列,而不能作為三維散點圖的序列。而一個圖中可以有存在多個同類型的序列,用於顯示不同的曲面。
與QChart有座標軸類一樣,三維圖形也有座標軸類。分為:QValue3DAxis(用於數值型座標軸)、QCategory3DAxis(用於文字型座標軸),且都繼承自QAbstract3DAxis。
Data Visualization模型中有資料代理類,資料代理類就是與序列對應,用於儲存序列的資料的類。因三維圖形型別不一樣,儲存資料的結構也不一樣。為此,對於每一種序列,都有一個數據代理類,它們都繼承自QAbstractDataProxy,而每一個數據代理類還有一個基於項資料模型的資料代理子類,如下圖所示:
對於三維曲面序列QSurface3DSeries,還有一個專門用於顯示地圖高程資料的資料代理類,即QHeightMapSurfaceDataProxy,它可以將一個圖片表示的高程資料顯示為三維曲面,並且使用者也可以根據自身需求自定義資料代理類。
若要在專案中使用Data Visualization模組,需要在專案配置檔案中新增一行語句: Qt += datavisualization 同時在使用該模組的類的標頭檔案或源程式檔案中,加入下面兩行語句:
include
using namespace QtDataVisualization
PS:本文內容參考自書籍《Qt5.9開發指南》,如有需要大家可自行前往瞭解。
- End -
技術發展的日新月異,阿木實驗室將緊跟技術的腳步,不斷把機器人行業最新的技術和硬體推薦給大家。看到經過我們培訓的學員在技術上突飛猛進,是我們培訓最大的價值。如果你在機器人行業,就請關注我們的公眾號,我們將持續釋出機器人行業最有價值的資訊和技術。 阿木實驗室致力於為機器人研發提供開源軟硬體工具和課程服務,讓研發更高效!
- 技術小新 | Qt開發指南之Data Visualization模組解讀
- 除錯達人 | 史上最全PX4韌體無人機無法解鎖問題合集
- 充電站 | 高效解決問題指南
- 充電站 | 核心連結串列的妙用
- 學習分享 | 適合初學者練習的C/C 開源專案
- 技術分享 | 四旋翼絲滑“繞⼋”⾃主軌跡運動
- 技術分享 | 還不來看!!! 讓ROS人機互動更加有趣--基於Qt ROS開發
- AirSim動態 | 還在為AirSim中配置感測器而煩惱嗎?
- 技術分享 | ROS與Gazebo的通訊機制
- 技術分享 | ROS與Gazebo的通訊機制
- 技術分享 | 工程開發利器-Homer高頻寬、多介面、可組網資料傳輸鏈路
- 技術分享 | Prometheus避障—A_star演算法程式碼閱讀
- 技術分享 | 嵌入式常用濾波演算法的matlab實現
- 技術分享 | 嵌入式常用濾波演算法的matlab實現
- PX4官方動態 | AirSim初見面
- 技術分享 | 詳解在docker中更新映象——基於Prometheus
- PX4官方動態 | 帶你走進官方教學(三)
- 技術分享 | 基於人工勢場法的無人機,機間避撞實現
- 從模擬到實飛,Prometheus自主無人機開發全覆蓋!快來參加阿木實驗室線下集訓吧!
- 技術分享 | turtlebot3自動駕駛之道路訊號檢測