【发布时间】:2013-02-25 16:59:39
【问题描述】:
我在 Qt 5 中有一组 C++ 类暴露给 javascript,基于 QJSEngine(因为 Qt 脚本似乎已被弃用)。
我的 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
有没有办法让我确保 javascript 中的 GetParent 被识别为实际的 A 类对象,而不是 QVariant?
【问题讨论】:
标签: javascript qt5 qjsengine