搜索
linux - Qml 与 Qml , Qml 与 C++ 的值共享
巴扎黑
巴扎黑 2017-04-17 13:04:51
[Linux讨论组]

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

TextInput {
    id: input1
    ...
}

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

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

先谢谢大家了!

巴扎黑
巴扎黑

全部回复(3)
怪我咯

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

高洛峰

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

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交互” 来找答案了

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

PHPz

说得有点混乱~

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号