小编Chr*_*ron的帖子

pyqt 的信号与直接调用方法

我试图理解为什么人们想要使用 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)

python pyqt4

3
推荐指数
1
解决办法
2963
查看次数

标签 统计

pyqt4 ×1

python ×1