我试图理解为什么人们想要使用 pyqt 信号/槽而不是直接调用类方法。
这是一个简单的代码片段,说明了我的看法:
from PyQt4 import QtGui, QtCore
class Simple_signal(QtCore.QObject):
single_signal = QtCore.pyqtSignal()
double_signal = QtCore.pyqtSignal()
def __init__(self):
super().__init__()
# Connect one signal to one slot
self.single_signal.connect(self.handle_signal_choice1)
# Connect another signal to two slots
self.double_signal.connect(self.handle_signal_choice1)
self.double_signal.connect(self.handle_signal_choice2)
# Connect to one method
self.method = self.handle_signal_choice3
def handle_signal_choice1(self):
print("Simple_signal - CHOICE1 received")
def handle_signal_choice2(self):
print("Simple_signal - CHOICE2 received")
def handle_signal_choice3(self):
print("Simple_signal - CHOICE3 received")
if __name__ == "__main__":
simple_signal = Simple_signal()
print('Calling choice1 via single_signal')
simple_signal.single_signal.emit()
print('Calling choice1 and …Run Code Online (Sandbox Code Playgroud)