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";
}
}
}
]
网友评论