2013-12-21 92 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. 构建基于
相关问题