c – 如何模拟QML组件

前端之家收集整理的这篇文章主要介绍了c – 如何模拟QML组件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
实际上我正试图在 QML component which embeds C++ objects上运行一些测试.不幸的是,当我执行我的测试时,我遇到了一些错误. QML文件无法识别C对象.这也是有意义的,因为在main.cpp文件中设置了C对象.

我的问题是:我如何模拟上下文属性来执行QML测试?或者其他人说,我怎样才能用混合Qt / QML代码进行单元测试?

解决方法

据我所知,你和我有同样的问题.前段时间我写了这个模拟: https://bitbucket.org/troyane/qml-cpp-template(你可以免费使用该代码).

看一下main.cpp,你可以看到两种做法:

// 1 case:
// Register type and create object at QML side
qmlRegisterType<CppClass>("CppClassModule",1,"CppClass");
QQmlApplicationEngine engine(QUrl("qrc:///qml/main.qml"));
qDebug() << "Qt version: " << qVersion();
// 2 case:
// Create object here and "move it up" to QML side
// engine.rootContext()->setContextProperty("cppClass",new CppClass);

祝好运!

原文链接:/c/118408.html

猜你在找的C&C++相关文章