Как связать класс QML / C ++ в QtQuick2ControlsApplicationViewer

В настоящее время я занимаюсь разработкой приложения QtQuick для QtCreator3.0.0, Qt5.2.0 и MSVC2012.
Я хочу сделать приложение, которое вызывает функцию C ++ из qml.
На основе Эта статья.
это работает, когда я использую QtQuick2ApplicationViewer для приложения QtQuick2.

[Main.cpp]
#include <QtGui/QGuiApplication>
#include "qtquick2applicationviewer.h"#include <QQmlContext>
#include "testclass.h"int main(int argc, char *argv[])
{
QGuiApplication app(argc, argv);
TestClass cppObj;
QtQuick2ApplicationViewer viewer;
viewer.rootContext()->setContextProperty("cppObj", &cppObj);
viewer.setMainQmlFile(QStringLiteral("qml/QtQuick2CppTest/main.qml"));
viewer.showExpanded();

return app.exec();
}

Для приложения QtQuick Controls требуется QtQuick2ControlsApplicationViewer вместо QtQuick2ApplicationViewer. Но у него нет метода «rootContext ()».

Как я должен связать классы QML и C ++ в этом случае.

1

Решение

я получил обходной путь с форума проекта Qt.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]