Impossibile passare l'animazione da un oggetto a un altro. L'ID cambia (stampa 'world' nel log), ma non trasferisce l'animazione: hello
continua a lampeggiare e world
è statico.Modifica target animazione
Funziona correttamente solo quando si chiama a.restart()
. Quando non ci sono funzioni, solo binding, è possibile utilizzare onChanged
e controllare il modo in cui l'animazione si arresta (completa o sospende) 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"
}
}
Questo sembra un bug (o per lo meno un problema di documentazione), quindi inviare una segnalazione a bugreports.qt.io. – cmannett85