盛世清平~Qt quick學習筆記_09

Q_PROPERTY 宏就是用來定義 QML 中可訪問屬性的,當你看到 NOTIFY 字樣,它後面的字段就是與屬性綁定的信號的名字。 Qt 實現了動態屬性綁定,當你爲 QML Text 的屬性 color 賦值時,實際上會調用到 QQuickText 的 setColor() 函數,也會觸發 colorChanged() 信號。


組件與動態對象

Component是由Qt框架或開發者封裝好,只暴露了必要的接口的QML類型,可以重複利用

嵌入式定義組件,Component只能包含一個頂層Item,而且在這個Item之外不能定義任何數據,除了id。

Component通常用來給一個view提供圖形化組件:

ListView ::delegate屬性就需要一個Component來指定如何顯示列表的每一個項,

ButtonStyle::background屬性也需要一個Component來指定如何繪製button的背景。

Component是從QQmlComponent繼承而來,他本身是不可見元素。定義的組件是一個新的類型,它必須被實例化以後纔可能顯示。而要實例化一個嵌入在QML文檔中定義的組件,則可以通過Loader

在單獨文件中定義組件

把一個Component單獨定義在一個QML文檔中--BusyIndicator控件

1、組件名必須和QML文件名一致2、組件名的第一個字母必須是大寫

比如:我們給顏色選擇的組件起個名字叫ColorPicker,對應的QML文件就爲ColorPicker.qml

就可以在其他的QML文檔中使用ColorPicker{...}來定義ColorPicker的實例

在單獨文件內定義組件,不需要Component對象,只有在其他QML文檔中嵌入式定義組件時才需要Component對象。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章