我们有一个有多页的gui。在每个页面上都有自定义文本组件和数据耦合。显示/加载页面时,文本组件使用Component.oncompleted
和onVisibleChanged
信号更新其数据绑定。为了最终确定这一点,必须在每个孩子完成更新后对通信模块进行调用。
当页面被更改时,可以在" onVisibleChanged"的页面。问题是在创建页面时找到一个要点。 Component.onCompleted
在其中一个孩子之前执行。
你知道有什么信号要用吗?
作为一种解决方法,我有一个空NumberAnimation
次Component.onCompleted
来电。这显然是在孩子们之后进行的,但感觉就像是一个黑客。
这是示例代码
DataText
DataText
{
property string address: ""
text: name + Model.getSingleItems().get(address).value //property binding here
onVisibleChanged: { Model.getSingleItems().setSubscribeStatus(address, visible);} //Stages the address for (un)subscribe
Component.onCompleted:{ Model.getSingleItems().setSubscribeStatus(address, visible);} //Stages the address for (un)subscribe
}
示例页面
Rectangle
{
DataText
{
address: "datakey"
}
//This code must be executed after all setSubscribeStatus calls to
//finish the subscriptions.
Component.onCompleted:{ Model.getSingleItems().finialize();}
onVisibleChanged: { Model.getSingleItems().finialize();}
}
我正在寻找一种在通信模块中订阅一批数据地址的方法。由于我们对实际设备的限制,我们无法保持所有数据的最新状态。