Имею qml следующего содержания:
import QtQuick 1.1
Rectangle {
width: 4
height: 4
x: 0
y: 0
color: "black"
property int posX: 0
property int posY: 0
onPosXChanged: x = posX - 2
onPosYChanged: y = posY - 2
radius: 2
Behavior on posX { SmoothedAnimation { duration: 100 } }
Behavior on posY { SmoothedAnimation { duration: 100 } }
}
Работаю с этим кодом через C++. В коде - анимация точки, которая должна появляться в A и
следовать за B (координата B меняется). SmoothedAnimation должно возникать на изменении posX, что видно, если координаты устанавливать через обращение напрямую к x (i.e. a->setProperty(«x», pos.x());). Однако, если устанавливать стартовую координату через x, а затем через posX начинать перемещение, анимация начинается с 0,0 до стартовой координаты, а затем уже на новую. Почему так?