<pre name="code" class="cpp">import QtQuick 2.2
Item {
width: 600; height: 600
Rectangle {
width: 10; height: width * 2
color: "red"; anchors.centerIn: parent; focus: true
Keys.onSpacePressed: height = width * 3 //height属性由JavaScript语句分配了一个静态值,原有的绑定会被清除(height: width * 2)
MouseArea {
anchors.fill: parent
onClicked: parent.width += 10
}
}
}
解释:当矩形的height初始时绑定为width的两倍,而当按下空格键以后,height值会更改为width的3倍。这时,height属性会分配为当前的表达式的值即width * 3的结果,而以前的绑定会被移除,就是说以后当width值更改时,height不再自动更新。
(知识点:属性绑定 书P74) 如果不是为了移除绑定,而是想创建一个新的绑定,则需要使用Qt.binding()来实现。见书P74