QML when类型的State属性可用于控制应由布尔表达式应用状态的时间。
当我显式地设置QML的state属性时,它似乎覆盖了所有状态对象的when属性,如下所示:
Item {
id: item
anchors.fill: parent
states: [
State {
name: "when state"
when: 1 === 1
},
State {
name: "explicit state"
}
]
onStateChanged: console.log("state = " + state)
MouseArea {
anchors.fill: parent
onPressed: item.state = "explicit state"
onReleased: item.state = ""
}
}item的初始状态是由when表达式确定的“时间状态”。当按下MouseArea时,状态变为“显式状态”。释放鼠标按钮后,状态变为默认状态("")。when状态评估似乎已经停止。
有没有办法“恢复”到“什么时候”状态评估?
发布于 2017-01-13 12:52:59
对状态的when属性进行评估:
when被更改时(通过设置或when绑定依赖于更改的任何属性)所以不,你不能真的“重置”它。如果你能避免的话,我建议不要把这两种方法混在一起。
https://stackoverflow.com/questions/35806354
复制相似问题