普通的自定义信号与槽:
signals:
void Dbcloadshow(const VCI_CAN_OBJ & ,int);
slots:
void DbcloadshowSlot(const VCI_CAN_OBJ &, int);
QObject::connect(show_data_thread,SIGNAL(Dbcloadshow(const VCI_CAN_OBJ &,int)),DbcDataWindowUi, SLOT(DbcloadshowSlot(const VCI_CAN_OBJ &, int)));
但在但是如果信号与槽在不同线程或Qt::QueuedConnection方式连接,可能会在连接期间报以下类似问题
QObject::connect: Cannot queue arguments of type 'VCI_CAN_OBJ'
VCI_CAN_OBJ 数据类型是我的自定义结构体
出现如此问题,在于QT对数据类型未知,只要在连接信号与槽之前,调用 qRegisterMetaType()解决
qRegisterMetaType<VCI_CAN_OBJ>("VCI_CAN_OBJ");