Я хочу привязать прямоугольник к слайдеру в 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
}
Это не обновляется в этих обстоятельствах. В чем источник проблемы?
Вам нужно добавить еще одну привязку для поведения от 0 до 180
Binding {
target: rect
property: "x"value: (xAxis.value)*(Screen.width/90)
when: xAxis.updateValueWhileDragging && xAxis.value < 180
}
Других решений пока нет …