Невозможно переключить анимацию с одного объекта на другой. Идентификатор изменяется (он печатает «мир» в журнале), но он не передает анимацию: hello
все еще мигает и world
является статическим.Изменение цели анимации
Он работает правильно только при звонке a.restart()
. Когда нет функций, просто привязки, вы можете использовать onChanged
и контролировать, как анимация останавливается (завершается или приостанавливается) if (running) { complete(); restart(); }
.
import QtQuick 2.5
Column {
ColorAnimation {
id: a
target: lab1
property: "color"
running: true
loops: Animation.Infinite
duration: 500
from: "black"
to: "red"
}
Text {
id: lab1
text: "hello"
MouseArea {
anchors.fill: parent
onClicked: {
a.target = lab2
console.log("changed")
console.log(a.target.text)
}
}
}
Text {
id: lab2
text: "world"
}
}
Это выглядит как ошибка (или, по крайней мере, проблема с документацией), поэтому отправьте отчет об ошибке в файле bugreports.qt.io. – cmannett85