PyQt5 -- 信号与槽机制

信号与槽应该从抽象层面进行本质上的理解,就是当满足某个条件(信号),则执行某项操作(槽). 举一个简单的例子,solider值变化,则引起lcd的变化,当你点击鼠标,则执行某个操作,都是在发送信号,执行任务。

如何创建信号

from PyQt5.QtCore import pyqtSignal

class A():
  #创建了一个my_signal信号
  my_signal = pyqtSignal(int)

一个信号引起另一个信号

button.clicked.connect(my_signal.emit)

如何发送信号

#value 就是参数
value = 5
my_signal.emit(value)

如何连接connect信号和槽

def hi(value):
  print("hello world")
a = A()
a.my_signal.connect(hi)

如何取消connect

#指定解除槽hi的联系,如果不指定,则disconnect所有槽
a.my_signal.disconnect(hi)

方法

代码的实现是简单的,信号可以产生信号,多个信号可以对应1个槽,一个信号也可以对应多个槽,关注关系

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,981评论 19 139
  • RAC使用测试Demo下载:github.com/FuWees/WPRACTestDemo 1.ReactiveC...
    FuWees阅读 6,497评论 3 10
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,178评论 6 13
  • 信号和槽(Signals and Slots) Qt库第一个认识到在几乎所有情况下,程序员不需要或甚至不想知道所有...
    珞珈村下山阅读 9,893评论 0 23
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,466评论 25 708