android - 在 qt (qml) 中更改原生样式组合框的文本颜色

标签 android qt combobox qml

我正在使用 QtQuick.Controls 1.4 中的 ComboBox。看起来不错的 android,但我想更改文本颜色。

所以我试试这个:

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

不幸的是,这改变了组合框的完整样式,使它看起来更像桌面上的组合框。如何只改变颜色而保留剩余样式?

最佳答案

这有点 hack,但您可以通过 __style 属性访问底层样式项。

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

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

关于android - 在 qt (qml) 中更改原生样式组合框的文本颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34743143/

相关文章:

Android ProGuard 混淆库 : keep class not working

c++ - 如何以位字节序将数字转换为字节数组

wpf - 将组合框中选定对象的属性绑定(bind)到 WPF 中的文本框

javascript - 使用 javascript 获取 devexpress 组合框中选定的项目 ID

Android - 调整照片大小和添加水印会导致图像质量差

Android:清除所有后台 Activity ,然后完成当前 Activity

android - 如何使用 Universal image Loader 在本地加载资源

qt - 如何将 rgb 转换为 uint index_or_rgb

python - 如何点击QWebView中的提交按钮?

c# - 如何从 Entity Framework 向组合框添加项目?