Qt信号槽传递自定义的数据类型

简述

Qt使用信号槽传递自定义类型的结构体,必须先要将这种类型进行注册。

实现

注册自定义数据类型方法步骤分为三步:
1)加入头文件:#include
2) 添加声明:Q_DECLARE_METATYPE(YOURS_STRUCT);
3) 注册:qRegisterMetaType(YOURS_STRUCT);
头文件没有什么可说的,不需要进入新的模块;
声明在定义结构体YOURS_STRUCT之后,一般应在类的外面;
注册方法一般在主构造函数中进行。

总结

Qt信号出了能传递内置类型,还可以发送自定义数据类型,但自定义的数据类型必须经过注册。

猜你喜欢

转载自blog.csdn.net/lusanshui/article/details/86132215