实际上我正试图在
QML component which embeds C++ objects上运行一些测试.不幸的是,当我执行我的测试时,我遇到了一些错误. QML文件无法识别C对象.这也是有意义的,因为在main.cpp文件中设置了C对象.
解决方法
据我所知,你和我有同样的问题.前段时间我写了这个模拟:
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);
祝好运!