Qt之QML開發常用知識


小技巧:

1. QML的內部邏輯可以直接調試

2. ctrl+ alt + space,在寫QML時,可以直接調出工具條

3. 屬性以小寫字母開發

4. 屬性改變事件,基本都是on+Property+Changed

5. 在代碼里使用qrc資源的qml,在從qrc的item復制路徑下添加qrc,然后冒號后再加一個斜杠如qrc:///main.qml;如果你的qml文件在qrc的分類中,

不是放在/分類下,不用添加該斜杠。在qml中直接在復制地址前加qrc即可

6.findChild使用里面的參數,對應的是QML中的objectName,不是QML中的id

7.QML對象,如果沒有設置id,則使用時才初始化,如果設置了id,則一開始就初始化了

8.QML子對象可以直接使用父對象的屬性,跨文件的情況同樣可用

待續。。。

 

名詞解釋

1.QQuickView 提供了一個窗體用於顯示UI

2. QQuickEngine 提供QML運行環境

3. QQuickWindow 顯示窗體, 以及對item對象的管理及用戶交互

 

編碼約定:

QML文件分成下面幾個部分:

id:

對象屬性

屬性聲明(私有屬性加__):

信號聲明

JS函數

計時器、FileDialog之類

子對象

狀態

狀態切換

不同部分中間空一行;盡量用分組屬性;如果JS函數較多,可以放到一個js文件中;

如果component,盡量另起段落,不接在后面寫。需要的時候,通過id應用

 

JS使用總結注意點

1.QML定義的function可以全局使用,子對象能使用父對象的函數,父對象不能直接使用

2.不能修改JS變量給其他文件使用,每次import相對於基於js創建一個新的對象

3.可以使用Qt.binding,進行屬性值的綁定

 

QML模塊導入:

1.Qt內置的,使用import即可

2.相對文件夾路徑的 import "..\..\'方式

3.qrc文件的,qrc中不同prefix下面的qml使用,用下面方式可以

import "qrc:/Test/"// as MyModule
import "qrc:/Test/MYRect/"

4.其他import使用,請在qt幫助下搜索import

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM