更改QML控件的文本颜色

rou*_*rld 7 qt styling qml qtquick2

我使用了一些QML控制一样GroupBox,并CheckBox具有与之相关联的文本.文本的默认颜色为黑色.但是,我在深色背景上有这些项目,并且更喜欢使用白色作为文本颜色.这些项目没有颜色属性,所以我不知道该怎么做.

CheckBox {
    text: "Check Me"
}
Run Code Online (Sandbox Code Playgroud)

Cal*_*ray 6

您是否尝试过将其设置为复选框的整个子元素?

CheckBox {

    Text {
        text: "Check Me"
        color: "red"
    }
}
Run Code Online (Sandbox Code Playgroud)


luf*_*ffy 5

我在 GroupBox 上遇到了同样的问题,所以我想发布一个答案以供将来参考。使用 HTML 格式可以轻松解决该问题。例如改变颜色:

GroupBox{ 
    title: "<font color=\"white\">my title</font>"
}
Run Code Online (Sandbox Code Playgroud)

大小和其他格式参数可以以相同的方式更改。


koo*_*jah 3

您需要使用该style属性重新定义Component用于基于标签的CheckBoxStyle

import QtQuick 2.1
import QtQuick.Controls 1.0
import QtQuick.Controls.Styles 1.0

Rectangle {
    color: "black"
    CheckBox {
        style: CheckBoxStyle {
            label: Text {
                color: "white"
                text: "check Me"
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

使用时,CheckBoxStyle您可能必须重新定义整个组件,而不仅仅是标签属性。