首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在打开弹出式QML时发送参数

在打开弹出式QML时发送参数
EN

Stack Overflow用户
提问于 2022-06-10 20:03:39
回答 1查看 159关注 0票数 1

我试图打开一个弹出窗口并传递一个参数,该参数将作为弹出窗口的一部分显示。在打开弹出窗口之前,我可以通过创建属性和更改属性来实现这一点,但我想知道我是否可以在不创建属性的情况下完成这一任务,并以某种方式将参数传递给弹出窗口?基本上可以在不创建属性的情况下完成这一任务:

代码语言:javascript
运行
复制
import QtQuick 2.15
import QtQuick.Window 2.2
import QtQuick.Controls 2.15

Window {
    id: window
    visible: true
    height: 400
    width: 400
    property var username: "Morbius"

    Button {
        text: "Click me"
        onClicked: {
            username = "Definitely not Morbius"
            popup.open()
        }
    }

    Popup {
        id: popup
        width: 220
        height: 200
        closePolicy: Popup.CloseOnPressOutside
        Text {
            id: name
            text: "Hello, " + username
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-10 20:29:47

好吧,你需要一种存储你传递的值的方法,所以属性是自然的选择。但是我会让这个属性成为弹出窗口的一部分,而不是父窗口。这样,您也可以在其他地方重用它。使用自定义的open()函数可以使它看起来更漂亮一些。

代码语言:javascript
运行
复制
Window {
    id: window

    Button {
        text: "Click me"
        onClicked: {
            popup.openMe("Definitely not Morbius")
        }
    }

    Popup {
        id: popup
        property string username

        function openMe(name) {
            username = name;
            open();
        }

        Text {
            id: name
            text: "Hello, " + username
        }
    }
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72579349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档