2013-12-21 48 views
3

我需要爲不同的QML控件定義一些樣式。現在我有以下選項:在QML應用程序中風格化所有控件實例

  1. 定義樣式就像每個控制:

    TextField { 
        text: "Text input" 
        style: TextFieldStyle { 
        textColor: "white" 
        ... 
        } 
    } 
    
  2. 使用定義樣式在每個QML文件時,它想:

    Component { 
        id: myStyle 
        TextFieldStyle { 
        textColor: "white" 
        ... 
        } 
    } 
    TextField { 
        text: "Text input" 
        style: myStyle 
    } 
    

問題:如何實現包含所有使用的控件的所有樣式的單個qml文件,這些控件可以在項目的每個qml文件中重用? 哪個頂級元素應該在這樣的qml中? 據我瞭解,項目中的每個qml文件都是Component。但是,如果我將頂層元素指定爲Component,那麼它將在Component中創建組件,對吧?

什麼是最好的實現方式?

+0

你可以在你的文件,例如末尾添加一個屬性這個組件(例如MyLabeledInputField.qml)的更高級別的組件。 '屬性組件{...}' – NatureShade

回答

0

有三件事情要做:

  1. 創建一個包含所有顏色單一QML文件MyStyles.qml,文字大小
  2. 製作簡單,可重複使用的組件(例如MyLabelText.qml,MyTextInput.qml )。使用先前定義的樣式值。
  3. 構建基於
相關問題