styles - 风格化 QML 应用程序中的所有控件实例

标签 styles controls 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 文件都是组件。但是如果我将顶部元素指定为组件,那么它将在组件中创建组件,对吗?

实现这一点的最佳方法是什么?

最佳答案

要做三件事:

  1. 创建一个包含所有颜色、文本大小的 qml 文件 MyStyles.qml
  2. 创建简单、可重用的组件(例如 MyLabelText.qml、MyTextInput.qml)。使用之前定义的样式值。
  3. 基于此组件构建更高级别的组件(例如 MyLabeledInputField.qml)

关于styles - 风格化 QML 应用程序中的所有控件实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20718701/

相关文章:

c++ - 区分C++中QML对象的类类型

安卓应用背景: using multiple images

c# - WPF 触发器绑定(bind) : What's the best way to bind an enum value to visiblity?

qt - 在 QML 中绘制简单的条形图

silverlight - 如何使 Silverlight 自定义控件的属性可数据绑定(bind)?

c# - 如何阻止按钮控件中的文本在 Winforms 中将单词分成多行?

c++ - Qt/QML : Text with inline QML elements

一个 div 的 CSS 重置

css - 字体粗细在CSS中没有改变

cocoa :时间选择器