我有一个包含信号和功能的物品 现在我用FocusScope封装了这个Item,例如使用FocusScope的别名绑定一些Item属性。但是我现在如何使用项目功能和信号?
示例:
FocusScope {
property alias color: box.color
Item {
id: myBox
anchors.fill: parent
signal colorChanged()
Rectangle {
id: box
width: parent.width
height: parent.height
anchors.centerIn: parent
color: "red"
}
// some more code e.g. to emit the signal
}
}
当我现在创建其中一个FocusScopes时,我无法访问该项目的信号。
使用FocusScopes时,我是否真的必须为所有内容实现包装? 或者我应该用FocusScope 替换项目?
答案 0 :(得分:1)
我认为用FocusScope替换项目更好,我不知道Item是否在这里有任何用途。
您可以修改如下代码。
FocusScope {
property alias color: box.color
signal colorChanged()
Rectangle {
id: box
width: parent.width
height: parent.height
anchors.centerIn: parent
color: "red"
}
// some more code e.g. to emit the signal
}
如果你想使用FocusScope下的Item,那么你需要在FocusScope下定义信号和功能。