Python GUI编程网 > PyQt5事件、信号和槽的机制原理 > 对象之间的通信+信号参数传递
python教程

对象之间的通信+信号参数传递

发布日期:2020年11月23日 07:02
阅读:4124
作者:Python GUI编程网

对象之间的通信+信号参数传递

00:00 / 01:23
1x
2x
1.5x
1.25x
1x
0.8x
0.5x

对象之间的通信+信号参数传递

################################
# PyQt5中文网 - PyQt5全套视频教程 #
#    https://www.PyQt5.cn/     #
#         主讲: 村长            #
################################

from PyQt5.Qt import *

# 创建一个信号   创建一个槽函数  链接信号和槽函数

# 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()



class MySignal1(QObject):
    sendmsg = pyqtSignal([str],[str,int])
    def send_msg(self):
        self.sendmsg[str,int].emit('hello',2)
        self.sendmsg[str].emit('hello')


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

mysignal1 = MySignal1()
myslot1 = Myslot1()
mysignal1.sendmsg[str,int].connect(myslot1.get_msg)
# mysignal1.sendmsg[str].connect(myslot1.get_msg)
mysignal1.send_msg()