我是QT的新手,我尝试使用QMetaObject :: invokeMethod将数组从C ++传递到QML:)
开始我只是试图传递我的数组的一个值(x [11])
dataBoxUpdater.cpp
#include <QQmlApplicationEngine>
#include <QMetaObject>
#include <QQmlComponent>
...
int xr[11];
for (i=1; i<= nbintrus ; i++) {
for(j=0; j<11; j++)
{
xr[j] = (conversion_coordonnees_trajectoire(scale, Sh_commands[i].xr_tab[j], Sh_commands[i].yr_tab[j], Sh_model->khi)).x;
}
}
///Envoie des données des tableaux xr et yr au .qml
QQmlApplicationEngine engine_tab;
QQmlComponent component(&engine_tab, QUrl(QStringLiteral("qrc:/Aeronef.qml")));
QObject *object = component.create();
QMetaObject::invokeMethod(object,"loadConfigurationSetUp", Qt::DirectConnection,
Q_ARG(int, xr[11]));
Aeronef.qml
Item {
opacity : 0
anchors.fill : parent
id : aeronef
...
property int pos_xr
//Récupération des tableaux xr&yr
function loadConfigurationSetUp(xr){
pos_xr = xr
//console.log(pos_xr)
}
...
我收到此消息:“QQML组件:组件未准备好”,我知道问题应该来自QML文件,但我不知道它是什么。
如果主题已经存在,我真的很抱歉,但我是新来的,我在网上找不到答案。
感谢您的帮助:)!