QML 中如何在 Transition 结束时切换到另一个状态
2021-03-26 本文已影响0人
赵者也
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";
}
}
}
]