赞
踩
pyqt的信号槽机制就是可自定义一个信号,可将信号与一个槽函数绑定,每当发送这个信号时,就将调用绑定的槽函数,并将信号包含的参数传递给该槽函数。
- from PyQt5.QtCore import pyqtSignal, QObject
-
-
- class signal(QObject):
- # 自定义一个信号
- my_sighal = pyqtSignal(str)
-
- # 定义一个发送信号的函数
- def run(self, text):
- self.my_sighal.emit(text)
-
-
- class slot(QObject):
- # 这个函数将用于绑定信号
- def action(self, text):
- print("I received that signal:" + text)
-
-
- if __name__ == '__main__':
- # 创建类的对象
- send = signal()
- receive = slot()
-
- # 将信号与动作进行绑定
- send.my_sighal.connect(receive.action)
- # 发送信号
- send.run("hello")
-
- # 将信号与槽函数解绑
- send.my_sighal.disconnect(receive.action)
- send.run("hello")

注意:关于信号和槽的类必须继承于pyqt包含的类
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。