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

时间:2018-01-17 13:51:33

标签: qt qml qtquickcontrols2

任何人都知道如何更改控件“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 个答案:

答案 0 :(得分:5)

使用Qt 5.10,您可以使用palette属性来避免必须覆盖背景:

public override System.Windows.Controls.ValidationResult Validate(object value, 
    System.Globalization.CultureInfo cultureInfo)
{
    int myInt;
    if (!int.TryParse(System.Convert.ToString(value), out myInt))
        return new ValidationResult(false, "Illegal characters");

    if (myInt < 0 || myInt > 20)
    {
        return new ValidationResult(false, "Please enter a number in the range: 0 - 20");
    }
    else
    {
        return new ValidationResult(true, null);
    }
}

并非所有样式当前都尊重调色板属性:默认和融合样式,以及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