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
指針作爲數據類型。