Qt/QML编程学习之心得:loader和component(二十)

这个的确不是那么好用,最近使用中发现loader主要不让所有界面一起加载,可以实现异步加载的。假如使用如下的asychronous,属性值设置为true,但是光这个没法达成真正的异步加载,这点可以通过Component.onConstruction(类似于构造函数)和Component.onDestruction(类似于析构函数)看到。

    Loader{
        id:rloader
        x:0
        y:0
        visible: false
        asynchronous: true
        onStatusChanged: {}
    }

如果真正的实现异步加载,还可使用active,将active设置为false。

    Loader{
        id:rloader
        x:0
        y:0
        visible: false

        active: false
        asynchronous: true

        onStatusChanged: {}
    }

此时再通过Component.onConstruction(类似于构造函数)和Component.onDestruction(类似于析构函数)看到,component没有加载,而是在事件触发后将active设置为true加载。

如下示例就是一个click区域之后,实现load的功能,可load一个qml文件,注意rectagle开头,也可load一个component。

main.qml:

import QtQuick 2.9
import QtQuick.Controls 

你可能感兴趣的:(qt,QML)