页面加载信号

时间:2015-07-15 09:43:51

标签: qt qml qtquick2

我们有一个有多页的gui。在每个页面上都有自定义文本组件和数据耦合。显示/加载页面时,文本组件使用Component.oncompletedonVisibleChanged信号更新其数据绑定。为了最终确定这一点,必须在每个孩子完成更新后对通信模块进行调用。

当页面被更改时,可以在" onVisibleChanged"的页面。问题是在创建页面时找到一个要点。 Component.onCompleted在其中一个孩子之前执行。

你知道有什么信号要用吗?

作为一种解决方法,我有一个空NumberAnimationComponent.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();}
}

我正在寻找一种在通信模块中订阅一批数据地址的方法。由于我们对实际设备的限制,我们无法保持所有数据的最新状态。

0 个答案:

没有答案