pyqt5之訊號 槽(pyqtSignal)

2021-09-30 00:11:10 字數 782 閱讀 6434

pyqt的訊號槽機制就是可自定義乙個訊號,可將訊號與乙個槽函式繫結,每當傳送這個訊號時,就將呼叫繫結的槽函式,並將訊號包含的引數傳遞給該槽函式。

from pyqt5.qtcore import pyqtsignal, qobject

class signal(qobject):

# 自定義乙個訊號

my_sighal = pyqtsignal(str)

# 定義乙個傳送訊號的函式

def run(self, text):

self.my_sighal.emit(text)

class slot(qobject):

# 這個函式將用於繫結訊號

def action(self, text):

print("i received that signal:" + text)

if __name__ == '__main__':

# 建立類的物件

send = signal()

receive = slot()

# 將訊號與動作進行繫結

send.my_sighal.connect(receive.action)

# 傳送訊號

send.run("hello")

# 將訊號與槽函式解綁

send.my_sighal.disconnect(receive.action)

send.run("hello")

注意:關於訊號和槽的類必須繼承於pyqt包含的類

pyqt5 訊號與槽

描述self.obj.destroyed.connect destroy cao 觸發後會執行槽函式,並給槽函式返回釋放物件 self.obj.blocksignals true 臨時打斷訊號 self.obj.objectnamechanged.disconnect 斷開訊號與槽的連線 self....

pyqt5 訊號與槽

訊號與槽 是pyqt的精髓,要多總結學習一下 定義通俗解釋 事件源 狀態發生改變的物件,它產生事件 source obj 按鈕 物件 事件目標 是想要被通知的物件 target obj 被點選 狀態發生改變 事件物件 封裝了事件源中的狀態變化 evnet obj 執行 呼叫函式 def use se...

PyQt5訊號 槽機制

signal emit slot signal.connect slot signal.disconnect slot 訊號 singal 可以連線無數多個槽 slot 或者沒有連線槽也沒有問題,訊號也可以連線其他的訊號。連線的基本語句形式如下 who.singal.connect slot 訊號是...