QT 信号与槽的详解

14 篇文章 0 订阅

QT信号和槽详解


参考网址:

QT的信号与槽接收

QT信号和槽机制的优点

QT5中信号与槽的新语法

1.介绍:

特性: 多信号与单个的槽进行连接,也可以将单个的信号与很多的槽进行连接

槽处理机制: 当一个信号被发射时,与其相关联的槽将被立刻执行,就象一个正常的函数调用一样。 信号 - 槽机制完全独立于任何 GUI 事件循环。只有当所有的槽返回以后发射函数(emit)才返回 。 如果存在多个槽与某个信号相关联,那么, 当这个信号被发射时,这些槽将会一个接一个地 执行,但是它们执行的顺序将会是随机的、不确定的,我们不能人为地指定哪个先执行、哪 个后执行

槽函数的定义类型:

1.public slots:在这个区内声明的槽意味着任何对象都可将信号与之相连接。这对于组件编程非常有用,你可以创建彼此互不了解的对象,将它们的信号与槽进行连接以便信息能够正确的传递。
2.protected slots:在这个区内声明的槽意味着当前类及其子类可以将信号与之相连接。这适用于那些槽,它们是类实现的一部分,但是其界面接口却面向外部。
3.private slots:在这个区内声明的槽意味着只有类自己可以将信号与之相连接。这适用于联系非常紧密的类

关联等其他可参考以上网址;

2.信号和槽的优点缺点:

  • 优点:

    类型安全->可以同时接收信号和槽参数类型和参数个数必须相同;

    松散耦合 -> 实现代码的高内聚和低耦合的渠道;

  • 缺点:

    运行效率比较低;比直接调用函数运行速度慢10倍(网上参考);

3. 新语法 :

connect(this, &Test::someSignal, this, &Test::someSlot);

具体参考对应的 网址; 也谢谢以上各位大神的讲解!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值