Qml 与 Qml , Qml 与 C++ 的值共享

发布于 2022-09-01 05:09:09 字数 386 浏览 14 评论 0

例如,在 文件1.qml 里定义了一个 TextInput

TextInput {
    id: input1
    ...
}

然后有一个 文件2.qml ,如何在 文件2.qml 中获取 文件1.qml 中的 TextInput.text

同样的,如果有一个 文件3.cpp ,如何在 文件3.cpp 中获取 文件1.qmpTextInput.text 呢?

先谢谢大家了!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

怪我入戏太深 2022-09-08 05:09:09

qml使用的是统一的名称空间,只要包含,那么就可以引用其id,新手理解,勿喷~

如梦初醒的夏天 2022-09-08 05:09:09

情况一的问题可以像下面这样解决:

QML1 名称定为 TextInputA.qml

TextInput {
    id: input1
    ...
}

QML2 名称定为 TextInputB.qml

TextInput {
    id: input2
    ...
}

现在你有一个使用这两个类的类,名称为ExampleA.qml

Item{
    TextInputA{
        id: inputA
    }
    
    TextInputB{
        id: inputB
        text: inputA.text
    }
}

情况一的延伸,如果TextInputB被实例化在了一个叫做HelloC.qml的类中该怎么办?HelloC.qml的定义:

HelloC{
    property alias text: inputB.text
    TextInputB{
        id: inputB
        text: inputA.text
    }
}

现在你有一个使用TextInputA和HelloC这两个类的类,名称为ExampleB.qml

Item{
    TextInputA{
        id: inputA
    }
    
    HelloC{
        id: helloC
        text: inputA.text
    }
}

//////////////////////////////////////////////

对于情况二:
你可以在网上搜索 “QML和Qt交互” 来找答案了

希望这个回答可以帮到你和更多人,祝好!

看透却不说透 2022-09-08 05:09:09

说得有点混乱~

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文