You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何修改Qt Controls 2.1及以后版本中RoundButton的颜色?

解决Qt Controls 2.x中RoundButton自定义背景变矩形的问题

嘿,这个坑我之前踩过!Qt Quick Controls 2里的RoundButton默认的background是用RoundRectangle实现的——它默认把radius设为自身宽度的一半,所以才会呈现圆形。你直接换成普通的Rectangle,自然就变成方的啦😉

给你两个靠谱的解决方案:

方案1:用RoundRectangle替代Rectangle

直接用RoundRectangle作为背景组件,同时绑定按钮自身的尺寸和圆角半径,这样既能自定义颜色,又能保留圆形外观:

RoundButton {
    id: roundButton
    x: 243
    y: 244
    width: 20
    height: 20
    text: "ah"
    wheelEnabled: false

    background: RoundRectangle {
        color: "yellow"
        // 绑定按钮的圆角半径,确保始终是圆形
        radius: parent.width / 2
        // 跟随按钮的大小,避免自定义尺寸导致错位
        width: parent.width
        height: parent.height
    }
}

方案2:直接修改默认背景的颜色

如果只是想改颜色,完全没必要替换整个background组件,直接访问默认背景的color属性就行,这样最省事:

RoundButton {
    id: roundButton
    x: 243
    y: 244
    width: 20
    height: 20
    text: "ah"
    wheelEnabled: false

    // 直接修改默认背景的颜色,保留原有圆形样式
    background.color: "yellow"
}

简单总结下:RoundButton的圆形外观全靠默认背景的RoundRectangle和它的radius设置,只要别把这个核心组件换成普通Rectangle,就能轻松自定义颜色啦。

内容的提问来源于stack exchange,提问作者PhBsa

火山引擎 最新活动