pyqt5之信號-槽(pyqtSignal)

簡介

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包含的類

發佈了66 篇原創文章 · 獲贊 50 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章