1
QML State
類型的when
屬性可用於控制何時應通過布爾表達式應用狀態。State.when vs Item.state屬性
當我設置的QML的state
財產Item
明確,似乎覆蓋所有狀態對象的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
狀態評估已停止。
有什麼辦法可以「恢復」到「何時」狀態評估?
也許像'onReleased:item.state = item.state'? – skypjack
不,不幸的是,根本不會改變狀態。 – Florian