在QML開發(fā)中,許多小伙伴喜歡Qt Creator這款工具,集C++ Widget 和 Qt Quick設(shè)計于一體。但還有另外一款工具:Qt Design Studio,該工具是Qt官方推出為適應(yīng)Qt Quick發(fā)展趨勢的獨立工具,一般情況下,在Qt Design Studio工具下創(chuàng)建設(shè)計的工程可以直接放到Qt Creator中使用。參見(如何將UI項目轉(zhuǎn)換為QtCreator應(yīng)用項目)。
我們可以使用Qt Design Studio的向?qū)?chuàng)建后綴名為.ui.qml的UI文件,UI文件可以在2D視圖中編輯。但是,在目前版本的Qt Creator中則不支持創(chuàng)建.ui.qml文件,同時創(chuàng)建的qml文件的文件名稱的首字母沒有固定為大寫(Qt Design Studio支持)。Qt Creator能打開以.ui.qml和.qml后綴的文件,也能以設(shè)計模式打開.qml文件。但是,如果我們使用Code視圖添加了2D/3D視圖不支持的代碼,Qt Design Studio/Qt Creator設(shè)計模式下將會提示錯誤消息。
Qt Design Studio中,在『Projects』視圖下選中需要添加文件的工程,右鍵單擊,在彈出的上下文菜單中,選擇“Add New...”,在彈出的對話框中選擇創(chuàng)建UI文件:
對于.ui.qml文件來說,不支持以下特性:
(1)JavaScript塊代碼。
(2)純表達(dá)式之外的其他綁定。
(3)信號處理。
(4)在根組件之外的其他組件中的狀態(tài)。
(5)不是從QQuickItem或Item派生的根組件。
(6)引用根組件的父組件。
在.ui.qml文件中,不支持下列組件類型:
(1)Behavior
(2)Binding
(3)Canvas
(4)Shader Effect
(5)Timer
(6)Transform
在.ui.qml文件中,支持以下方法
『JavaScript 函數(shù)』:
此外,還支持Math和Date對象的函數(shù)。
支持的『Qt QML 方法』
支持以下顏色相關(guān)的方法:
支持以下輔助方法:
支持以下翻譯方法:
注意:不要在ui文件中混合使用翻譯方法。
在實際項目規(guī)劃中,將UI與應(yīng)用程序邏輯分離是一種較好的開發(fā)方式。一般來說,設(shè)計人員應(yīng)該使用UI文件(.ui.qml),而開發(fā)人員應(yīng)該使用相應(yīng)的實現(xiàn)文件(.qml)來定義編程行為或編寫JavaScript代碼。通過這種方式,可以使得設(shè)計端和開發(fā)端都可以進行很好迭代,而不會出現(xiàn)影響彼此工作的問題。
審核編輯:劉清
-
編程語言
+關(guān)注
關(guān)注
10文章
1955瀏覽量
36211 -
javascript
+關(guān)注
關(guān)注
0文章
525瀏覽量
54540
原文標(biāo)題:QML中的xxx.ui.qml和xxx.qml文件
文章出處:【微信號:嵌入式小生,微信公眾號:嵌入式小生】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
如何在Visual Studio 2022中運行FX3吞吐量基準(zhǔn)測試工具?
DevEco Studio 工具如何安裝
S32Design Studio出錯的原因?
瑞薩RA8系列教程 | 基于 e2 studio 創(chuàng)建RA8工程

安裝S32_Design_Studio_for_S32_Platform_3.6.0時出錯怎么解決?
如何將S32K312 MBDT生成的代碼導(dǎo)出到S32 Design Studio?
用rt thread studio創(chuàng)建的K210工程,編譯后很多警告,這是怎么回事?
VirtualLab Fusion應(yīng)用:使用1D-1D EPE的光波導(dǎo)布局設(shè)計工具
VirtualLab Fusion應(yīng)用:光導(dǎo)布局設(shè)計工具
RT-Thread Studio導(dǎo)入bsp工程提升創(chuàng)建工程失敗的原因?怎么解決?
eIQ Time Series Studio工具使用攻略(三)-工程創(chuàng)建

評論