PyQt5之信号与信号槽

一、信号与信号槽特点

PyQt的窗口控件类中有很多内置信号,开发者也可以添加自定义信号。信号与槽具有如下特点。

  1. 一个信号可以连接多个槽。
  2. 一个信号可以连接另一个信号。
  3. 信号参数可以是任何Python类型。
  4. 一个槽可以监听多个信号。
  5. 信号与槽的连接方式可以是同步连接,也可以是异步连接。
  6. 信号与槽的连接可能会跨线程。
  7. 信号可能会断开。

二、信号与槽机制

信号与槽机制示意图如下所示:
在这里插入图片描述
三、信号与槽函数关联

信号与槽函数关联使用 **connect()**函数,语句如下:

sender.signalName.connect(receiver.slotName)

举例如下:self.btnOK.clicked.connect(Dialog.accept)

其中:
• sender 表示发射信号的对象名称,如 self.btnOK;
• signalName 表示信号的名称,如 clicked;
• receiver 是对信号作出响应的接收者的名称,如 Dialog;
• slotName 是接收者的响应槽函数的名称,如 accept。

举例如下:

self.pushButton.clicked.connect(self.display) 

#信号的发送者self.pushButton发送信号clicked给信号的接收者self,触发信号的接收者执行槽函数display

四、一个信号连接多个信号槽

1、多个槽函数处于不同的接收者,如:textEdit、textBrowser

2、多个槽函数处于相同的接收者,如:textBrowser,槽函数调用的先后顺序即脚本中的前后顺序。
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值