下面的例子说明了我的问题。Rectangle
我在左上角创建了一个小图标,点击它可以在红色和绿色之间切换颜色。
接下来,我创建 aStackView
并将 a 推Rectangle
送到StackView
并将第二个 Rectangle 的颜色绑定到左上角矩形的颜色
预期的行为是,单击左上角Rectangle
也会更改 上的颜色,Rectangle
因为StackView
颜色已绑定。不幸的是,这种情况并非如此。
请注意,推stackRect2
送到堆栈时一切正常(请参阅注释中的行)
import QtQuick 2.0
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
Window {
id: mainWindow
visible: true
width: 1280
height: 720
Rectangle {
id: rect
width: 100
height: 100
focus: true
color: toggle? "red":"green"
property var toggle:false;
MouseArea {
anchors.fill: parent
onClicked: rect.toggle = !rect.toggle
}
}
StackView {
id: stack
width: 100
height:100
anchors.left: rect.right
anchors.leftMargin: 10
Component.onCompleted: {
stack.push ({item:stackRect, properties: {color:rect.color}})
//stack.push ({item:stackRect2})
}
}
Component {
id:stackRect
Rectangle {}
}
Component {
id:stackRect2
Rectangle {color:rect.color}
}
}