在qt(qml)中更改本机样式组合框的文本颜色

时间:2016-01-12 12:00:19

标签: android qt combobox qml

我使用的是QtQuick.Controls 1.4的ComboBox。它看起来不错,但是我想改变文字颜色。

所以我试试这个:

ComboBox {
    id: list
    model: ListModel {
            ...
    }
    style: ComboBoxStyle {textColor:"white"}
}

不幸的是,这会改变组合框的完整样式,使其看起来更像桌面上的组合框。我怎样才能改变颜色但保留剩余的样式?

1 个答案:

答案 0 :(得分:1)

这是一种黑客行为,但您可以通过__style属性访问基础样式项。

ComboBox
{
    id: list
    model: [ "Banana", "Apple", "Coconut" ]
    Component.onCompleted: {
        __style.textColor = "white"
    }
}

我使用的是Qt 5.2,因此我无法访问textColor属性。因此,这可能根本不起作用。查看位于PathToQt/.../.../qml/QtQuick/Controls的ComboBox和ComboBoxStyle源文件,了解样式的实现方式。