qml中获取Loader加载的顶层对象

发布时间:2024年01月24日

如下所示,当点击button时,修改Loader加载的组件中的Rectangle对象的背景色。
此时需要使用到 Loader.item属性来引用rect对象。

import QtQuick 2.0
import QtQuick.Controls 2.12
import QtQuick.Window 2.12
import QtQuick.Layouts 1.3
import QtQml 2.12

Window {
    visible: true
    width: 800
    height: 480
    title: qsTr("Hello World")

    Component {
        id: com
        Rectangle {
            id: rect
            width: 200
            height: 200
            color: "red"
        }
    }

    // 点击按钮时,修改rect的背景色
    Row {
        Loader {
            id: loader
            sourceComponent: com
        }
        Button {
            text: "click"
            onClicked: {
                // rect.color = "green"         // error
                // com.rect.color = "green"     // error
                loader.item.color = "green"
            }
        }
    }
}

请添加图片描述

文章来源:https://blog.csdn.net/TianYanRen111/article/details/135790269
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。