qt - QML 覆盖项样式

标签 qt combobox qml

是否可以只覆盖样式的一个属性,例如组合框?

ComboBox {
        id: comboBox

        anchors.fill: parent

        style: ComboBoxStyle {
            label: Component {
               Text {
                    text: "Players -> " + comboBox.currentText
                }
            }
        }
    }

在 KDE 中,这个组合框看起来很难看,因为它不使用 kde 主题样式并使用默认样式。

具有覆盖样式且没有样式覆盖的组合框:
ComboBox with overriden styles and without style override

我需要有一个组合框,其样式类似于此图像上的最后一个,但带有自定义文本。

最佳答案

我了解您希望具有自定义行为的原生外观和感觉。

您无法像在此 Qt mailing list post 中提到的那样使用 QtQuick Controls 1 或 2 实现这种现成的.

用Qt Widgets也许能搞定原生样式,但除了Qt Widgets的新增功能,不知道能不能搞定主题的原生样式……

您可以等待此处提到的 Qt 6 CommonControls:http://blog.qt.io/blog/2017/02/06/native-look-feel/但正如帖子中所述,它不允许您进行太多自定义。

关于qt - QML 覆盖项样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27205114/

相关文章:

c++ - 包含包含数组的文件时出现链接错误

c++ - 对象组

c++ - 从 Cascade QML 调用 C++ 函数

c# - 带有自定义项模板文本的 wpf 组合框

Qt QML Listview positionViewAtIndex 不工作

c++ - QML渲染引擎: frame refresh event

multithreading - 在多处理器线程中优化内存数据库的QSql

visual-studio - 使用 Visual Studio 构建可以链接到 Qt 项目的库?

wpf - 风格错误?无法在Windows10中设置样式内的背景颜色

Qt ComboBox->addItem() Integer to Qstring 转换错误?