信号与槽的故事

信号与槽的故事

在学习信号与槽的过程中,我感觉有那么一点点的绕,所以我通过一个形象化去理解这个信号与槽,我是在准备使用pyqt5时开始学习信号槽的知识的。接下来进入我的故事

我的故事是乡村广播站
故事主角:乡村广播站,广播员,村民
设备:广播发射器,乡村大喇叭

故事的起因是,为了响应党中央号召,疫情期间不出门,不聚会,各个村启用了好久不用的乡村广播,想通过大喇叭喊话宣传

于是我们的广播站成立(MyTypeSignal),广播站有一台广播发射器(sendmsg),它有一个功能(发射型号–>emit()),,它是通过(run方法启动的)

面向的村民(MySlot),村民不需要设备,只需要听村口的大喇叭(get函数),大喇叭接受到信息,向村民播报

广播站需要一个广播员,负责启动和播报信息, send.sendmsg.connect表示向哪些大喇叭发送信息

(用于记录学习过程,不喜勿喷)

'''
自定义信号
'''
from PyQt5.QtCore import *

class MyTypeSign(QObject):    ##信号类广播站
    sendmsg=pyqtSignal(object)#广播发射器

    sendmsg1=pyqtSignal(str,int,int)


    def run(self):            #启动广播
        self.sendmsg.emit('hello pyqt5')#发射的信号内容

    def run1(self):
        self.sendmsg1.emit('hello',2,4)

class MySlot(QObject):
    def get(self,msg):#获取信号的大喇叭
        print("信息:"+msg)#
    def get1(self,msg,b,c):
        print(msg)
        print(b+c)
if __name__ == '__main__':
    send=MyTypeSign()#广播员
    slot=MySlot()#接受的民众
    send.sendmsg.connect(slot.get)#向哪些喇叭传递信息
    send.sendmsg1.connect(slot.get1)
    send.run()#启动
    send.run1()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值