如何更改“Qt Quick - Control 2 RoundButton”的颜色

Posted

技术标签:

【中文标题】如何更改“Qt Quick - Control 2 RoundButton”的颜色【英文标题】:How change the color of "Qt Quick - Control 2 RoundButton" 【发布时间】:2018-01-17 13:51:33 【问题描述】:

任何人都知道如何更改控件“RoundButton”的颜色,该控件从 2.1 开始就出现在 Qt Controls 中。

我尝试更改背景,但如果我将“矩形”放在项目上,RoundButton 就会变成矩形,我不知道该放什么。

RoundButton 
    id: roundButton
    x: 243
    y: 244
    width: 20
    height: 20

    text: "ah"
    wheelEnabled: false

    background: Rectangle 
        color: "yellow"
        height: 50
        width: 50
    

【问题讨论】:

【参考方案1】:

在 Qt 5.10 中,您可以使用调色板属性来避免覆盖背景:

import QtQuick 2.9
import QtQuick.Controls 2.3

ApplicationWindow 
    visible: true

    RoundButton 
        id: button
        text: "ah"

        palette.button: "salmon"
    

虽然目前并非所有样式都尊重调色板属性:Default 和 Fusion 样式都可以,Imagine 样式也可以(主要是文本颜色,因为它是基于图像的样式)。

如果您对特定样式使用哪个调色板角色感到好奇,查看源代码可能是最简单的方法:

http://code.qt.io/cgit/qt/qtquickcontrols2.git/tree/src/imports/controls/Button.qml#n77

尽管记录了角色列表:

https://doc.qt.io/qt-5.10/qml-palette.html#qtquickcontrols2-palette

【讨论】:

以上是关于如何更改“Qt Quick - Control 2 RoundButton”的颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何更改主题更改时浮动操作按钮的颜色?

Ubuntu系统如何更改用户密码

更改模式时如何更改导航阴影颜色?

如何更改分区ID为AF?

更改标签文本时如何更改标签颜色

如何更改环境的字体大小?