标题:请教一下QT怎样将一个结构体作为函数参数从C++传递到QML
作者:sn_112
日期:2015-02-26 16:17
内容:
第一次做QtQuick的项目,遇到了许多结构体作为参数传递到QML里的问题,机构体比较多,每一个写成类用Q_PROPERTY的话,工作量比较大,有没有方法可以把结构体传递到QML里去。
我在尝试把结构体存储在QVariant对象里面,传参到QML,但是在QML中不知道如何去解析。
#1 [彩阳 02-26 20:08]
在每个Setter和Getter函数前面添加Q_INVOKABLE。
#2 回 彩阳 的帖子 [sn_112 02-27 08:24]
彩阳:在每个Setter和Getter函数前面添加Q_INVOKABLE。 (2015-02-26 20:08)
谢谢彩阳同学,是在结构体的setter和getter函数之前么,普通的结构体能不能传递的?
#3 [彩阳 02-28 12:27]
任何结构体或者是类都要经过包装后才能在QML环境中使用。所以呢,即使不使用Q_PROPERTY来指定属性,也要使用QObject作为你结构体的基类。以便使用Q_INVOKABLE。
#4 [sn_112 03-13 09:19]
谢谢了,看来得大面积改代码了
#5 [XChinux 03-18 19:59]
是否可以将结构体通过某种序列化方法,转成json,传过去?