kuu*_*kuu 7 qt unit-testing qml qtquick2 qqmlapplicationengine
我发现这个老帖子面临同样的问题:如何模拟QML组件
不幸的是,没有解决方案.回顾一下问题:我有一个导入模块的QMLTestCase.但是这个模块依赖于一个根上下文属性,它通常会被添加到main.cpp.由于这是一个TestCase,我对如何QQmlApplicationEngine启动没有影响.
如何添加缺少的上下文属性?
编辑:
在 Qt 5.11 中,Qml UnitTesting 新增了一章。请参阅在 QML 测试之前执行 C++一章 。
之前的回答:
您可以通过将 QML 项传递到 C++ 端来获取 QQmlEngine 的实例,在 C++ 端您可以使用方法qmlEngine。
因此,您可以通过调用来设置上下文属性
qmlEngine(passedQmlItem)->rootContext()->setContextProperty("propertyName", propertyValue);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
287 次 |
| 最近记录: |