Qt信号和槽的使用总结

       程序猿真是个学无止境的职业,不记录要点过后就又得重新拾起。用Qt也有段时间了,对其信号槽进行一个归纳总结,不对的欢迎评论指正。

 

【信号】

1.定义信号的类必须直接或间接继承自public QObject,去掉public将不能被连接。

1.signals前面不能加private或public这些限定,否则编译出错。

2.信号支持重载。

 

【槽】

1.定义槽函数的类必须直接或间接继承自public QObject,去掉public将不能被连接。

2.槽函数可以被当作一般函数调用,不影响信号的连接。

3.槽函数支持重载。

4.定义槽函数的对象如果被局部定义,在该作用域下emit有效,在其他作用域里emit信号,将不能连接到该槽函数。

 

【信号槽】

1.信号与槽的返回值类型不同,也可以连接成功。

2.槽函数被限定为“private”时,仍然可以被信号通过该个对象进行连接。

3.宏定义不能用于信号槽,否则编译不过。

4.信号槽传入nullptr,编译可以通过,但连接无效。

5.信号和槽可以是多对多的连接,Qt4.5及以前版本,其执行顺序是由系统决定的,不可预知的。但Qt4.6及以后版本,其执行顺序是按照连接建立的顺序依次执行的。参考:https://www.bbsmax.com/A/A7zgo8VWz4/

 

Demo下载:

https://download.csdn.net/download/jam12315/12408130

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Jamie.T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值