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