gpt4 book ai didi

c++ - 如何模拟 QML 组件

转载 作者:可可西里 更新时间:2023-11-01 18:39:59 26 4
gpt4 key购买 nike

实际上我正在尝试在 QML component which embeds C++ objects 上运行一些测试.不幸的是,我在执行测试时遇到了一些错误。 QML 文件无法识别 C++ 对象。这也是有意义的,因为 C++ 对象是在 main.cpp 文件中设置的。

我的问题是:如何模拟上下文属性来执行 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, 0, "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++ - 如何模拟 QML 组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23060717/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com