Я хочу реализовать в qml , что, пока я удерживаю кнопку, два прямоугольника перемещаются вместе, но как только я отпускаю ее, один из прямоугольников остается там, где он был в данный момент выпуска.
Пусть движущийся Rectangle
будет мастером, а его код будет следующим:
Rectangle {
id: master
x: 10
y: 10
width: 50
height: 50
color: "#00ff00"
Behavior on x {
NumberAnimation {
duration: 2000
}
}
}
Код ведомого, который должен двигаться вместе с мастером, пока кнопка удерживается следующим образом:
Rectangle {
id: slave
x: 100
y: 100
width: 50
height: 50
color: "#ff0000"
}
В настоящее время я предпринял следующую попытку присоединить и отсоединить ведомое устройство к мастеру:
ToggleButton {
id: attach
x: 300
y: 300
text: qsTr("Attach")
onClicked: {
if (checked) {
slave.parent = master
} else {
slave.parent = mainWindow
}
}
}
Проблема заключается в том, что если мастер уже перемещается, нажатие кнопки переводит подчиненное устройство в положение, в котором оно находилось бы, если бы оно перемещалось с ведущим с самого начала, а затем продолжает перемещаться вместе с ведущим даже после отпускания кнопки.
Как могу ли я произвольно прикрепить другие объекты к движущимся объектам, а затем отсоединить их в qml ?