QML 的 Transition 有一個 running 屬性,而 QML 的屬性值在變化的時候都可以通過如下
on<Property>Changed: {
// todo ...
}
的形式來監聽其變化,running 屬性值為 false 時表示 Transition 的變化已經結束,我們最好再判斷一下當前的狀態 state 的值是我們預期的值,因為其他狀態執行完成之后 running 的值也會變為 false,下面是一個實例代碼:
transitions: [
Transition {
to: "middle_state"
PropertyAnimation {
target: root
properties: "value"
duration: 1000
}
onRunningChanged: {
if ((state === "middle_state") && (!running)) {
state = "end_state";
}
}
}
]