首页 > 其他 > 详细

QT编译报错:“Signal and slot arguments are not compatible.”

时间:2020-11-11 17:57:25      阅读:267      评论:0      收藏:0      [点我收藏+]

使用QT5新语法写信号/槽连接:

比如:

connect(Device::getInstance(), &Device::sig_sendData, this, &Tool::slot_receiveData);

此时:

sig_sendData(QString, uint32_t);

slot_receiveData(QString, uint32_t);

一段时间后:

有人改了信号函数的参数类型,变成了:

sig_sendData(QString, QByteArray);

于是编译报错:

“Signal and slot arguments are not compatible.”

从报错这里知道是信号槽函数参数不匹配的问题,但是不知道是哪个信号槽函数的参数不匹配,编译器并没有定位到具体信号槽连接。

找了好久才找到具体的信号槽函数。

突然觉得有参数的信号槽函数连接用旧语法比较好,修改参数时会直接在信号槽的连接处报错。

connect(Device::getInstance(), SIGNAL(sig_sendData(QString,uint32_t)), this, SLOT(slot_receiveData(QString, uint32_t));

 

QT编译报错:“Signal and slot arguments are not compatible.”

原文:https://www.cnblogs.com/grebamboo/p/13958631.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!