QML对象构造顺序

一、同一层

与代码编写顺序相反,如下图构造顺序是:item_2->item_1

  

 

 ps:虽然item_2比item_1先构造,但是布局的时候item_1可以使用其他item_2的属性【x、y等】

二、不同层

从里到外,如下图构造顺序是:rect_1->rect1

 

三、QML继承

//A.qml
Item {
    consloe.log("A")
}

//B.qml
A {
    consloe.log("B")
}

先打印A,再打印B,即先调用基类再调用子类

 

四、QML中有C++类

Item {
     CPPClass {
          property: 123
     }
}

先调用CPPClass的构造函数,再传值【property】过去,最后调用Item的构造。

需要注意这种情况,我们可能需要传一个QML对象到CPPClass中,然后希望在C++的构造函数中访问这个qml对象,根据这个构造顺序我们在C++构造函数中访问qml对象时它还没有传过来,所以需要加一个延时。。。

 

posted @ 2020-06-19 10:01  朱小勇  阅读(749)  评论(0编辑  收藏  举报