Добрый день, может кто то сталкивался с такой ситуацией и решил её. Мне нужно из С++ передать массив классов в Qml, и там их обрабатывать. Делаю так.
C++
Q_INVOKABLE QVector<MyObj*> getData() { return m_aiObjects; }
main.cpp
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QScopedPointer<bcGame> bcG(new bcGame);
QQmlApplicationEngine engine;
bcGame::declareQML();
engine.rootContext()->setContextProperty("cppObject", bcG.data());
engine.load(QUrl(QStringLiteral("qrc:/qml/main.qml")));
return app.exec();
}
QML
Connections {
target: cppObject
onSigDrawAi: drawObj()
}
function drawObj()
{
var dataSize = cppObject.getData();
console.log("Data size: " + dataSize)
}
Проблема в том что на стороне Qml он не понимает тип данных который пришел от функции.
Error: Unknown method return type: QVector<MyObj*>