信号与槽已经使用connect语句连接,并且参数也匹配,但是发送信号以后不执行槽函数?

笔者遇到的问题如标题,经排查,信号和槽函数的定义没有问题,输入参数的类型也是一致的,也使用了connect函数连接,但是发送信号以后没有执行槽函数,原因出在connect语句,错误示范:

cpp 复制代码
connect(this, SIGNAL(sig_BackinfoTranspond), 
        this, SLOT(slot_backinfoTranspond));

错误原因:在使用 SIGNAL() 和 SLOT() 宏时,必须写出完整的参数类型,否则 Qt 无法匹配!

正确的语句:

cpp 复制代码
connect(this, SIGNAL(sig_BackinfoTranspond(quint8,QTcpSocket*)),
        this, SLOT(slot_backinfoTranspond(quint8,QTcpSocket*)));

有时候第二种语法也会导致无法执行槽函数,可以改为下面的Qt5的新式语法:

cpp 复制代码
connect(this, &MyClass::updateTemperatureUI,this, &MyClass::updateTempDisplay);
相关推荐
笑非不退5 小时前
C# c++ 实现程序开机自启动
开发语言·c++·c#
专注于大数据技术栈5 小时前
java学习--final
java·开发语言·学习
gihigo19985 小时前
基于MATLAB的IEEE 14节点系统牛顿-拉夫逊潮流算法实现
开发语言·算法·matlab
合作小小程序员小小店5 小时前
游戏开发,桌面%小游戏,贪吃蛇%demo,基于vs2022,c语言,easyX,无数据库
c语言·开发语言
x***J3486 小时前
Python多线程爬虫
开发语言·爬虫·python
m***D2866 小时前
Python网络爬虫实战案例
开发语言·爬虫·python
保持低旋律节奏6 小时前
C++——C++11特性
开发语言·c++·windows
ID_180079054736 小时前
基于 Python 的淘宝商品详情数据结构化解析:SKU、价格与库存字段提取
开发语言·数据结构·python
星释6 小时前
Rust 练习册 82:Hamming与字符串处理
开发语言·算法·rust
时间不说谎6 小时前
c/c++的语法糖
开发语言