pyqt5 自定義訊號與槽

2021-10-03 03:51:39 字數 2420 閱讀 2205

# -*- coding:utf-8 -*-

from pyqt5.qt import

*a =

0class

window

(qwidget)

:#宣告無引數的訊號

signal1 = pyqtsignal(

)#宣告帶乙個int型別引數的訊號

signal2 = pyqtsignal(

int)

#宣告帶int和str型別引數的訊號

signal3 = pyqtsignal(

int,

str)

#宣告帶乙個列表型別引數的訊號

signal4 = pyqtsignal(

list

)#宣告帶乙個字典型別引數的訊號

signal5 = pyqtsignal(

dict

)#宣告乙個多過載版本的訊號,包括帶int和str型別引數的訊號和帶str型別引數的訊號

signal6 = pyqtsignal(

[int

,str],

[str])

def__init__

(self)

:super()

.__init__(

) self.setwindowtitle(

'pyqt5--自定義訊號與槽'

) self.resize(

500,

500)

self.setup_ui(

)def

setup_ui

(self)

:# 將訊號連線到指定槽函式

self.signal1.connect(self.signalcall1)

self.signal2.connect(self.signalcall2)

self.signal3.connect(self.signalcall3)

self.signal4.connect(self.signalcall4)

self.signal5.connect(self.signalcall5)

self.signal6[

int,

str]

.connect(self.signalcall6)

self.signal6[

str]

.connect(self.signalcall6overload)

# 發射訊號

self.signal1.emit(

) self.signal2.emit(1)

self.signal3.emit(1,

"text"

) self.signal4.emit([1

,2,3

,4])

self.signal5.emit(

) self.signal6[

int,

str]

.emit(1,

"text"

) self.signal6[

str]

.emit(

"text"

)def

signalcall1

(self)

:print

("signal1 emit"

)def

signalcall2

(self,val)

:print

("signal2 emit,value:"

,val)

defsignalcall3

(self,val,text)

:print

("signal3 emit,value:"

,val,text)

defsignalcall4

(self,val)

:print

("signal4 emit,value:"

,val)

defsignalcall5

(self,val)

:print

("signal5 emit,value:"

,val)

defsignalcall6

(self,val,text)

:print

("signal6 emit,value:"

,val,text)

defsignalcall6overload

(self,val)

:print

("signal6 overload emit,value:"

,val)

if __name__ ==

'__main__'

:import sys

window = window(

) window.show())

)

PyQt5 自定義訊號槽函式

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

PyQt5 自定義訊號槽 不同傳參

1 簡介 自定義的訊號 傳遞不同的引數 2 功能實現 coding utf 8 簡介 內建訊號槽訊號槽示例 from pyqt5.qtcore import qobject pyqtsignal class custsignal qobject 宣告乙個無引數的訊號 signal1 pyqtsign...

pyqt5講解11 自定義訊號和槽

步驟 定義訊號 定義槽函式 連線訊號和槽函式 發射訊號 示例 coding utf 8 簡介 內建訊號槽訊號槽示例 from pyqt5.qtcore import qobject pyqtsignal class custsignal qobject 宣告乙個無引數的訊號 signal1 pyqt...