Sanket Joshi
Sanket Joshi

Reputation: 158

How To Change Style Of QML Component at runtime?

I have Written a QT Application which has a Circular Gauge

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
    } 

I want to change value of minimumValueAngle and maximumValueAngle at runtime. Is it possible to change style of component in qml at runtime

Upvotes: 0

Views: 851

Answers (1)

folibis
folibis

Reputation: 12854

Since the style item isn't accessible from outside you should do that in a declarative way, for example:

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;
    }
}

Upvotes: 4

Related Questions