据我了解,您遇到了和我同样的问题。前段时间我写了这个模拟: 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);
Run Code Online (Sandbox Code Playgroud)
祝你好运!