http://qt-project.org/doc/qt-5.0/qtquick/qtquick-statesanimations-states.html#the-when-property
下面是when语句的用法:
为方便起见,State 元素有一个 when 属性,该属性可以绑定到表达式,以在绑定表达式的计算结果为 true 时更改状态。当表达式的计算结果为 false 时,when 属性会将状态恢复为默认状态。
Rectangle {
id: bell
width: 75; height: 75
color: "yellow"
states: State {
name: "RINGING"
when: (signal.state == "CRITICAL")
PropertyChanges {target: speaker; play: "RING!"}
}
}
只要 signal.state 为 CRITICAL,bell 组件就会变为 RINGING 状态。
下面是if语句的用法:
onClicked: rectangleA.state == "one" ?
rectangleA.state = "two" : rectangleA.state = "one"
问题:在什么情况下应该使用if条件,在什么情况下应该使用条件?