如何在运行时更改 QML 组件的样式?

圣乔希

我写了一个带有圆形仪表的 QT 应用程序

CircularGauge {
        id: circularGauge
        style: CircularGaugeStyle {
            needle: Rectangle {
                y: outerRadius * 0.15
                implicitWidth: outerRadius * 0.03
                implicitHeight: outerRadius * 0.9
                antialiasing: true
                color: Qt.rgba(0.66, 0.3, 0, 1)
            }
            minimumValueAngle: -145
            maximumValueAngle: 145
        }
        tickmarksVisible: true
    } 

我想在运行时更改 minimumValueAngle 和 maximumValueAngle 的值。是否可以在运行时更改 qml 中组件的样式

叶子

由于样式项无法从外部访问,因此您应该以声明方式执行此操作,例如:

CircularGauge {
    id: circularGauge
    property int minValue: -145
    property int maxValue: 145        
    style: CircularGaugeStyle {
        id: circularGaugeStyle
        minimumValueAngle: circularGauge.minValue
        maximumValueAngle: circularGauge.maxValue
    }
}

Button {
    text: "Change values"
    onClicked: {
        circularGauge.minValue = -90;
        circularGauge.maxValue = 90;
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章