Q_INVOKABLE方法返回自定义C类型

前端之家收集整理的这篇文章主要介绍了Q_INVOKABLE方法返回自定义C类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个C方法制作Q_INVOKABLE.我可以从QML调用方法,它在返回基本类型(如QString)时有效.但我不能用自定义类型.我该怎么做?我应该返回QVariant吗?理想情况下,如果可能,我想返回指向我的自定义类型的指针.

编辑
我做:

qmlRegisterType<MyType>("Mine",1,"MyType");
  qmlEngine->rootContext()->setContextProperty("testObj",new MyType());

我可以使用testObj全局对象或创建MyType QML组件.但我不能在一些javascript代码中使用它作为Q_INVOKABLE C方法的返回类型.

解决方法

是的,QVariant是您在该构造中使用自定义类的方法.确保注册课程.

话虽这么说,您可能希望考虑使用Q_PROPERTY代替您的自定义类型,然后即使没有函数调用也可以访问它.如果您需要方法自定义参数,并且无法重新排列代码,这显然不是一个选项.

原文链接:https://www.f2er.com/c/119277.html

猜你在找的C&C++相关文章