Qt信号与槽传递参数(先唠叨下现状吐槽下自己)

秋招顺利结束了。。。还行,挺顺利的,提前批就有不错的offer在手,选了跟文双同行业,可能也是跟我自己做的东西更相近的。再一个呢,觉得他家招聘工作做的还行,喜欢流程快的,行就行,不行就不行,具体的招聘细节,其实还是有点粗糙的,不过okkk。华为过了但没有杭州的岗位,多少有点可惜,面试流程非常好,一天走完给结果,但是这个招聘流程,真的是最乱的,懂得都懂。工作签了就放纵了,哈哈,也是正常,得开始搞毕业的东西了。毕业说难难,说简单简单,anyway,相信自己,okkk。那么qt这个信号与槽机制,是怎么传递参数的呢?哈哈哈哈哈~

qt程序开发时,需要信号与槽机制完成参数传递。
1、信号与槽函数的参数数量相同时,他们参数类型要完全一致。
信号:void Signal(int a);
槽:void MainWindow::Slot(int a){}
信号与槽绑定:connect(this,SIGNAL(Signal(int )),this,SLOT(Slot(int)));
发送信号:emit Signal(5);
结果:5

2、当信号的参数与槽函数的参数数量不同时,只能是信号的参数数量多于槽函数的参数数量,且前面相同数量的参数类型应一致,信号中多余的参数会被忽略。
信号:void Signal(int a, float b);
槽:void MainWindow::Slot(int a){}
信号槽:connect(this, SIGNAL(Signal(int, float)), this, SLOT(Slot(int)));
发送信号:emit Signal(5, 0.3);
结果:5

3、在不进行参数传递时,信号槽绑定时也是要求信号的参数数量大于等于槽函数的参数数量。这种情况一般是一个带参数的信号去绑定一个无参数的槽函数。
信号:void Signal(int a, float b);
槽函数:void MainWindow::Slot() {qDebug()<<“it is slot”;}
信号槽:connect(this, SIGNAL(Signal(int, float)), this, SLOT(Slot()));
发送信号:emit iSignal(5, 0.3);
结果:it is slot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值