
文章插圖
Qt中提供一個(gè)三維數(shù)據(jù)可視化模塊(Data Visualization),可以繪制三維柱狀圖、三維散點(diǎn)圖、三維曲面等 。在PyQt5的缺省安裝包中,并為集成數(shù)據(jù)可視化模塊,要使用它,需要另行安裝PyQtDataVisualization包 。運(yùn)行命令
pip install PyQtDataVisualization安裝該模塊,就可以使用了 。
QAbstract3DGraph無(wú)論是三維柱狀圖,三維散點(diǎn)圖,還是三維曲面等圖形,它們都繼承自QAbstract3DGraph類,QAbstract3DGraph類為圖形提供了一個(gè)窗口和渲染循環(huán) 。
QAbstract3DGraph是QWindow的子類,并為它的繼承類提供渲染循環(huán),在程序中不應(yīng)該直接使用這個(gè)類,而是使用其子類 。
除OpenGL ES2環(huán)境(Qt Data Visualization不支持抗鋸齒)外,C ++上的抗鋸齒默認(rèn)情況下處于打開狀態(tài) 。
注意:QAbstract3DGraphQt::FramelessWindowHint默認(rèn)情況下將窗口標(biāo)志設(shè)置為打開 。如果要將圖形窗口顯示為帶有常規(guī)窗口框架的獨(dú)立窗口,請(qǐng)?jiān)跇?gòu)造圖形后清除此標(biāo)志 。例如:
bars = Q3DBars()bars.setFlags(bars.flags() ^ Qt.FramelessWindowHint)QAbstract3DGraph常用方法:
scene(self):返回場(chǎng)景Q3DScene()對(duì)象 。setActiveInputHandler(self, inputHandler):將inputHandler設(shè)置為圖形中使用的活動(dòng)輸入處理程序 。setActiveTheme(self, theme):將theme設(shè)置為要用于圖形的活動(dòng)主題 。setAspectRatio(self, ratio):設(shè)置圖形在水平面上的最長(zhǎng)軸與y軸之間的比例 。默認(rèn)為2.0 。此設(shè)置對(duì)Q3DBars無(wú)效 。setHorizontalAspectRatio(self, ratio):x軸和z軸之間的圖形縮放比例 。值0.0表示自動(dòng)縮放,缺省值為0.0 。setLocale(self, locale):設(shè)置用于格式化各種數(shù)字標(biāo)簽的語(yǔ)言環(huán)境 。setMargin(self, margin):設(shè)置用于可繪制圖形區(qū)域邊緣和圖形背景邊緣之間的空間的絕對(duì)值 。如果邊距值為負(fù),則邊距是自動(dòng)確定的,并且可以根據(jù)系列中項(xiàng)目的大小和圖形的類型而變化 。如果圖形寬高比未從默認(rèn)值更改,則該值將解釋為y軸范圍的一部分 。默認(rèn)為-1.0 。setMeasureFps(self, enable):設(shè)置是否連續(xù)進(jìn)行渲染而不是按需進(jìn)行渲染 。setOptimizationHints(self, hints):設(shè)置默認(rèn)模式還是靜態(tài)模式還是渲染優(yōu)化模式 。默認(rèn)模式以合理的性能水平提供完整的功能集 。靜態(tài)模式可優(yōu)化圖形渲染,是大型不變數(shù)據(jù)集的理想選擇 。動(dòng)態(tài)數(shù)據(jù)更改和項(xiàng)目輪換速度較慢 。沒有優(yōu)化選擇,因此不建議將靜態(tài)模式與海量數(shù)據(jù)集一起使用 。靜態(tài)優(yōu)化僅適用于散點(diǎn)圖 。setOrthoProjection(self, enable):設(shè)置是否使用正投影來(lái)顯示圖形 。setPolar(self, enable):設(shè)置是否將水平軸更改為極坐標(biāo)軸 。如果為True,則x軸成為角軸,z軸成為徑向軸 。極坐標(biāo)模式不適用于條形圖 。默認(rèn)為False 。setRadialLabelOffset(self, offset):設(shè)置徑向極坐標(biāo)軸的軸標(biāo)簽的歸一化水平偏移 。該值0.0指示應(yīng)在0角角度軸網(wǎng)格線旁邊繪制標(biāo)簽 。該值1.0表示標(biāo)簽是在圖形背景邊緣的通常位置繪制的 。默認(rèn)為1.0 。setReflection(self, enable):設(shè)置是否打開floor反射 。僅影響Q3DBars 。setReflectivity(self, reflectivity):設(shè)置floor反射率,較大的數(shù)字會(huì)使地板更具反射性 。有效范圍是[0…1] 。默認(rèn)為0.5 。僅影響Q3DBars 。
setSelectionMode(self, mode):設(shè)置圖形條目的選擇方式 。setShadowQuality(self, quality):設(shè)置陰影的質(zhì)量級(jí)別 。QAbstract3DGraph常用信號(hào):activeInputHandlerChanged(self, inputHandler): 當(dāng)圖形的活動(dòng)輸入處理程序發(fā)生改變時(shí),發(fā)出該信號(hào) 。activeThemeChanged(self, theme):當(dāng)圖形的活動(dòng)主題發(fā)生改變時(shí),發(fā)射該信號(hào) 。aspectRatioChanged(self, ratio):當(dāng)圖形在水平面上的最長(zhǎng)軸與y軸之間的比例發(fā)生改變時(shí),發(fā)射此信號(hào) 。currentFpsChanged(self, fps):當(dāng)當(dāng)前的圖形渲染幀率發(fā)生改變時(shí),發(fā)射該信號(hào) 。horizontalAspectRatioChanged(self, ratio):當(dāng)x軸和z軸之間的圖形縮放比例發(fā)生改變時(shí),發(fā)射此信號(hào) 。localeChanged(self, locale):當(dāng)用于格式化各種數(shù)字標(biāo)簽的語(yǔ)言環(huán)境發(fā)生變化時(shí),發(fā)射此信號(hào) 。marginChanged(self, margin): 當(dāng)可繪制圖形區(qū)域邊緣和圖形背景邊緣之間的空間的間距發(fā)生變化時(shí),發(fā)射此信號(hào) 。measureFpsChanged(self, enabled):當(dāng)渲染模式發(fā)生改變時(shí),發(fā)射此信號(hào) 。optimizationHintsChanged(self, hints):當(dāng)優(yōu)化模式發(fā)生改變時(shí),發(fā)射此信號(hào) 。orthoProjectionChanged(self, enabled):當(dāng)啟用/禁用正投影來(lái)顯示圖形時(shí),發(fā)射此信號(hào) 。polarChanged(self, enabled):當(dāng)水平軸更改為極坐標(biāo)軸或取消極坐標(biāo)軸時(shí),發(fā)射此信號(hào) 。queriedGraphPositionChanged(self, data):當(dāng)查詢到圖形的位置值發(fā)生改變時(shí),發(fā)射此信號(hào) 。radialLabelOffsetChanged(self, offset):當(dāng)徑向極坐標(biāo)軸的軸標(biāo)簽的歸一化水平偏移值發(fā)生改變時(shí),發(fā)射此信號(hào) 。reflectionChanged(self, enabled):當(dāng)啟用/禁用floor發(fā)射時(shí),發(fā)射此信號(hào) 。reflectivityChanged(self, reflectivity):當(dāng)floor發(fā)射的反射率發(fā)生改變,發(fā)射此信號(hào) 。selectedElementChanged(self, type):當(dāng)圖形中圖形中選擇的元素發(fā)生改變時(shí),發(fā)射此信號(hào) 。selectionModeChanged(self, mode):當(dāng)圖形的選擇模式發(fā)生了改變,則發(fā)射此信號(hào) 。shadowQualityChanged(self, quality):當(dāng)圖形的陰影質(zhì)量設(shè)置發(fā)射了改變,則發(fā)射此信號(hào) 。Q3DBarsQ3DBars類提供用于渲染3D柱狀圖的方法 。使用Q3DBars可以開發(fā)3D柱狀圖,并通過(guò)旋轉(zhuǎn)場(chǎng)景來(lái)查看它們 。按住鼠標(biāo)右鍵并移動(dòng)鼠標(biāo)即可完成旋轉(zhuǎn) ??s放是通過(guò)鼠標(biāo)滾輪完成的 。選擇(如果啟用)是通過(guò)鼠標(biāo)左鍵完成的 ??梢酝ㄟ^(guò)單擊鼠標(biāo)滾輪將場(chǎng)景重置為默認(rèn)攝像機(jī)視圖 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請(qǐng)您及時(shí)就醫(yī)或請(qǐng)專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對(duì)您有所幫助:- 桑葚干泡酒的制作方法 怎么用桑葚干泡酒
- 二維碼支付牌制作方法 掃碼付款怎么操作
- 擺攤腌泡水果制作方法 擺攤腌泡水果怎么制作
- 鵝蛋怎么吃最營(yíng)養(yǎng)豐富 鵝蛋的制作方法
- 正宗湖北臭豆腐的制作方法 正宗湖北臭豆腐簡(jiǎn)單做法
- 企業(yè)公章電子章的制作方法 網(wǎng)上在線印章制作生成工具
- 黃金芒果橘子果凍的制作方法 黃金芒果橘子果凍怎么做
- 杏醬的制作方法 如何自制杏醬
- 家庭版蔬菜炒意面的制作方法 中式炒意面的做法分享
- 西蘭花拼魚腐的做法 西蘭花拼魚腐的制作方法
