2
我有一套C++類在Qt 5中基於QJSEngine(因爲Qt腳本似乎已被棄用)暴露給javascript。自定義C++類型到QJSEngine:成員函數返回值始終是QVariant
我的QObject派生類A和B具有Q_OBJECT宏並且也使用Q_DECLARE_METATYPE宏。
我已經公開了我的類的工廠函數,允許我從JavaScript內部創建新的實例。以下所有作品罰款:
a = namespace.createNewA(); // QJSEngine reports a type A object
b = namespace.createNewB(); // QJSEngine reports a type B object
b.SetParent(a); // SetParent is a slot of B taking a const A& parameter, gets called correctly
// But now.
b.GetParent(); // Reports QVariant(A), even though this is a slot: A GetParent() const
有沒有辦法,我保證,而不是說的QVariant中的getParent的JavaScript被確認爲實際類型的對象,?
你有沒有機會分享如何用QJSEngine創建「新」對象?我現在正在努力。我發現的所有文檔都是用舊引擎進行描述的 – Jay 2015-02-23 19:08:03