QML覆盖项样式

5

有没有可能只覆盖样式中的一个属性,比如下拉框?

ComboBox {
        id: comboBox

        anchors.fill: parent

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

在KDE中,这个组合框看起来很丑,因为它没有使用KDE主题样式,而是使用默认的主题样式。
具有覆盖样式和无样式覆盖的ComboBox: ComboBox with overriden styles and without style override 我需要一个像这个图像上最后一个样子的自定义文本组合框。

你想要覆盖哪个属性?一个标签吗? - folibis
是的,在这种特定情况下,是一个标签。 - Victor Polevoy
1个回答

0

我了解您想要的是原生外观和自定义行为。

使用QtQuick Controls 1或2无法直接实现此目标,如Qt邮件列表帖子中提到的。

使用Qt Widgets可能可以获得本地样式,但除了与Qt Widgets的额外工作之外,我不知道是否可以获得主题化的本机样式...

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接