Qt--信号槽传递结构体参数
(1) 需要注册结构体参数,在结构体中声明结束的地方加上结构体注册。
typedef struct s_exceptionNotifyData
{
} ExceptionNotifyData;
Q_DECLARE_METATYPE(ExceptionNotifyData);
(2)信号定义
signals:
void signalRealExceptionData(QVariant varData);
(3)槽函数定义
void recvRealExceptionData(QVariant varData);
(4)信号槽连接
connect(CCC::_cur, &CCC::signalRealExceptionData, this, &AAAA::recvRealExceptionData, Qt::DirectConnection);
(5)发送信号的时候用变量QVariant包装结构体
QVariant varData;
varData.setValue(ExceptionNotifyData );
emit signalRealExceptionData(varData);
(6)接收信号的地方从包装中取出结构体
ExceptionNotifyData notifyData;
notifyData= varData.value<ExceptionNotifyData>();
本文详细介绍如何在Qt中使用信号槽机制传递结构体参数,包括注册结构体、定义信号和槽函数、信号槽连接、信号发送及参数接收等关键步骤。
6325

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



