PyQt5學習記錄(三) 自定義訊號與槽

2021-10-22 13:18:47 字數 1200 閱讀 2059

自定義訊號與槽

方法:寫訊號類

寫槽類通過connect將其實例繫結

這樣,啟動訊號的時候,就會將訊號裡的引數傳遞到槽函式,並且啟用槽函式

'''

自定義訊號

pyqtsignal()

用這個函式自定義訊號

'''from pyqt5.qtcore import

*class

mytypesignal

(qobject)

:# 定義乙個訊號

sendmsg = pyqtsignal(

object

)# 傳送3個引數的訊號

sendmsg1 = pyqtsignal(

str,

int,

int)

defrun

(self)

: self.sendmsg.emit(

'hello pyqt5'

)def

run1

(self)

: self.sendmsg1.emit(

"hello",3

,4)class

myslot

(qobject)

:def

get(self,msg)

:print

("資訊:"

+ msg)

defget1

(self,msg,a,b)

:print

(msg)

print

(a+b)

if __name__ ==

'__main__'

: send = mytypesignal(

)#訊號類

slot = myslot(

)#槽類

send.sendmsg.connect(slot.get)

#訊號例項連線槽的某個方法

send.sendmsg1.connect(slot.get1)

#訊號例項連線槽的某個方法

#連線之後,通過run函式傳送引數給槽函式,並觸發槽函式

send.run(

) send.run1(

)#失去連線

send.sendmsg.disconnect(slot.get)

send.run(

)

PyQt5 自定義訊號槽函式

1 簡介 自定義訊號槽函式,當訊號傳送的時候,可以呼叫被繫結的槽函式 2 功能實現 coding utf 8 簡介 內建訊號槽示例 from pyqt5.qtcore import qobject,pyqtsignal 訊號物件 class qtypesignal qobject 定義乙個訊號 se...

pyqt5 自定義訊號與槽

coding utf 8 from pyqt5.qt import a 0class window qwidget 宣告無引數的訊號 signal1 pyqtsignal 宣告帶乙個int型別引數的訊號 signal2 pyqtsignal int 宣告帶int和str型別引數的訊號 signal3...

總結 PyQt5自定義訊號源

定義乙個訊號源有4個方面要注意 1.定義訊號源 a pyqtsignal str int,str 這裡特別使用訊號源過載的情況加以說明。如上就是訊號源a的過載,乙個可以傳送str引數,另乙個可以傳送 int,str 引數。注意這相當於宣告了兩個同名但引數不同的訊號源。2.鏈結 槽 a int,str...