Значение ползунка связывания QML с оператором When

Я хочу привязать прямоугольник к слайдеру в QML. Максимальное значение ползунка оси X составляет 360. Ниже 180 прямоугольник должен двигаться в направлении изменения. Выше 180 прямоугольник должен двигаться в обратном направлении изменения.

Вот мой фрагмент кода для слайдера и прямоугольника

Slider {
id: xAxis
x: 60
y: 45
width: 200
value: 60
maximumValue: 360

Rectangle {
id: rect
width: parent.width/10
height: parent.height/4
color: "transparent"border.color: "red"border.width: 5
radius: 10
}

Фрагмент кода для привязки

Binding {
target: rect
property: "x"value: (180 + (180 - xAxis.value))*(Screen.width/90)
when: xAxis.updateValueWhileDragging && xAxis.value >= 180
}

Это не обновляется в этих обстоятельствах. В чем источник проблемы?

1

Решение

Вам нужно добавить еще одну привязку для поведения от 0 до 180

Binding {
target: rect
property: "x"value: (xAxis.value)*(Screen.width/90)
when: xAxis.updateValueWhileDragging && xAxis.value < 180
}
3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]