是否可以将QScriptEngine.toScriptValue与QPointer一起用于QObject?

Can I use QScriptEngine.toScriptValue with a QPointer to a QObject?

提问人:akbiggs 提问时间:8/19/2014 最后编辑:demonplusakbiggs 更新时间:10/22/2015 访问量:160

问:

关于使用QtScript以及在脚本值和C++之间来回转换的文档提到,您可以将QScriptEngine.toScriptValue与QObject*类型一起使用,并使其自动工作,转换对象并相应地返回脚本引用。同样的行为是否适用于 或者我是否必须创建自己的元类型?如果是这样,它是否也适用于将 QPointers 处理到 QObject 子类?QPointer<QObject>

我感兴趣的主要事情是,如果我在 QPointer 上调用 QScriptEngine.toScriptValue 到子类实例而不是常规指针,那么使用 QObject 子类Q_PROPERTY声明的属性是否会自动引入脚本。

C++ Qt QTScript QPoterer

评论


答:

0赞 akbiggs 8/24/2014 #1

我必须创建自己的脚本元类型才能正确转换 QPointer,它不能开箱即用。然而,Qt文档提到,在初始化之外将指针指定为QPointer是没有意义的,因为QPointers可以像常规指针一样处理,所以这可能毫无意义。