当前位置: 首页 PyQt5中事件处理机制及信号和槽之间的通信交互 类之间的信号和槽连接方法
add-vip

类之间的信号和槽连接方法

信号和槽之间的连接一般情况下都是内置的信号连接我们想要实现的功能也就是我们自定义的槽函数,这节课我们讲讲如果在类的内部和类之间实现信号和槽的连接。

一、首先来看看类的内部信号和槽连接

class MySignal(QObject):
    sendmsg = pyqtSignal(str)   # 声明一个信号对象

    def send_msg(self):
        self.sendmsg.emit('hello world')  # 使用信号去发射一个文本

    def get_msg(self, str):
        print('你好' + str)

mysignal = MySignal()
mysignal.sendmsg.connect(mysignal.get_msg)  # 使用对象中的信号去链接槽中的方法
mysignal.send_msg()   # 执行信号中的方法 , 之后槽函数就能处理对应的信号数据


def myslot():
    print('AAAAAAAAAAA')
btn.pressed.connect(myslot)

二、类之间信号和槽的连接


class MySignal(QObject):
    sendmsg = pyqtSignal(str, int, int)

    def send_msg(self):
        self.sendmsg.emit('hello', 2, 9)


class Myslot(QObject):
    def get_msg(self, str, a, b):
        print('你好' + str)
        print(a + b)


mysignal = MySignal()
myslot = Myslot()
mysignal.sendmsg.connect(myslot.get_msg)
mysignal.send_msg()


相关文章