【问题标题】:When exactly is "Component.completed" fired?“Component.completed”到底是什么时候触发的?
【发布时间】:2017-08-21 15:44:34
【问题描述】:

“Component.completed”究竟是什么时候触发的?

文档是这样说的:

在对象被实例化后发出。

如果这是 C++,我会知道,由于对象已被实例化,我可以依靠构造函数来执行,并由此获得所有保证。

但在 QML 中,我不知道我对“已实例化”的对象有什么保证。那块内存已经分配给它了?它的属性是否已经评估并收到了它们的初始值?整个后代子树已经加载了吗?

【问题讨论】:

    标签: qt qml qtquick2 qt-signals


    【解决方案1】:

    保证会在对象完成后触发。这包括内存分配、对象的构造和属性绑定的绑定、初始评估等。

    当对象嵌套在树中时,不能保证完成信号的处理顺序。你不应该依赖它。一个对象在其整个对象树完成之前不会完成,但由于某些莫名其妙的原因,您不能期望通知以树定义的顺序到达。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-08
      相关资源
      最近更新 更多