0
我需要动态运行JavaScript来从模拟操作一些C++对象。如何在QML中调用由C++创建的对象的方法?
实施例:
class CppToQML : public QObject{
Q_INVOKABLE CppClass* getObj(int i);
QList<CppClass*> mList;
}
首先,我有一个CppToQML
类被临时用户到QML。
qmlRegisterType<CppToQML>("CppToQML", 1, 0, "CppToQML");
的CppClass
在C++侧创建并存储在CppToQML mList
class CppClass : public QObject {
Q_INVOKABLE void sayHello();
}
我试图做到这一点在QML的javascript:
CppToQML {
id: cppToQML
}
//javascript
cppToQML.getObj(0).sayHello();
问题是QML无法识别CppClass
指针作为数据类型。