小技巧:
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
