Qt信号与槽的连接:1对多,多对1是如何执行的?

目录

1对1:

1对多:

        Qt4:

        Qt5:

多对1:


众所周知,Qt的信号与槽连接的函数是connect函数,而Qt又分为不同的版本;

变化比较大的是Qt4和Qt5这2个版本,到了Qt5之后,加了不少东西;

特别是connect函数在关联信号槽的时候,执行顺序总是受到很多使用者的关心。

信号与槽之间,可以进行1对1的关联,也可以1对多的关联,还可以进行多对1的关联;

1对1:

        这个很好理解,一个信号只和一个槽关联,当发射信号之后,就去执行与之关联的槽了;

1对多:

        这个就会有些复杂了,当一个信号和多个槽关联的时候,信号发射时,是如何触发槽执行的,到底是依次挨个有顺序的执行,还是无序的执行,在Qt的不同版本下有不同的表现:

        Qt4:

                在Qt4的版本里面,主要的执行顺序为:无序的,总体都会把所有与该信号关联的槽执行一遍,但是顺序是随机的,可以总结为一句话:随机都执行一遍

        Qt5:

                在Qt5的版本里面,主要的执行顺序为:有序的,顺序取决于信号与槽在代码上的先后关联顺序,即:先关联的先执行,后关联的后执行

多对1:

        多对1的状态下,只有一个槽函数,但是有多个不同的信号来关联,当某个与之关联的信号被发射之后,都会执行一遍槽。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

五木大大

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

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

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

打赏作者

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

抵扣说明:

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

余额充值