PYQT5學習筆記( N+ 2) 訊號與槽 (訊號與槽兩個引數之間的傳遞)
阿新 • • 發佈:2021-02-13
###訊號與槽 實現傳遞兩個引數
from PyQt5.QtCore import QObject, pyqtSignal
## 訊號物件
class QTypeSignal(QObject):
##定義一個訊號
sendmsg = pyqtSignal( str, str)
def __init__(self):
super( QTypeSignal, self).__init__()
def run( self):
##傳送訊號
self.sendmsg. emit('第一個引數', '第二個引數')#引數一個變成了兩個
# ------- -----------訊號內容不變---------------------- --------------------
##槽物件
class QTypeSlot(QObject):
def __init__(self):
super( QTypeSlot, self).__init__()
##槽物件裡的槽函式
def get(self, msg1, msg2): #get了兩個引數
print("QSlot get msg => " +'\n'+ msg1 +'\n'+msg2)
#把兩個引數轉化在了一起 + ‘ 之間 相互連結
if __name__ == '__main__':
send = QTypeSignal()
slot = QTypeSlot()
#1
print(' --- 把訊號繫結到槽函式 ---')
send.sendmsg.connect( slot.get)
send.run()
#2
print('---斷開訊號與槽函式----')
send.sendmsg.disconnect( slot.get)
send. run()