需要借助 QVariant
-
对自定义的数据类型进行注册(结构体链表等)
Q_DECLARE_METATYPE(数据类型)
如:Q_DECLARE_METATYPE(QList) -
写一个信号
void sig_Data(QVariant type); -
触发该信号
QVariant Data;
Data.setValue(注册数据类型的实例)
emit sig_Data(Data); -
写一个接收槽
void slot_Data(QVariant type);
注册数据类型 实例 = type.value<注册数据类型>()
QList< Student > Test = type.value<QList< Student >>()
即可使用 Test.结构体内容 进行操作
- 绑定信号槽
注意:信号和槽的参数都为QVariant
sig_Data(QVariant)
slot_Data(QVariant)
本文介绍如何利用QVariant实现自定义数据类型的信号槽传递,包括使用Q_DECLARE_METATYPE宏注册自定义类型,并通过示例展示了如何正确设置和获取信号中携带的自定义数据。
539

被折叠的 条评论
为什么被折叠?



