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个槽,一个信号也可以对应多个槽,关注关系

你可能感兴趣的:(PyQt5 -- 信号与槽机制)