信號與槽應(yīng)該從抽象層面進行本質(zhì)上的理解腹泌,就是當滿足某個條件(信號),則執(zhí)行某項操作(槽). 舉一個簡單的例子尔觉,solider值變化凉袱,則引起lcd的變化,當你點擊鼠標侦铜,則執(zhí)行某個操作专甩,都是在發(fā)送信號,執(zhí)行任務(wù)钉稍。
如何創(chuàng)建信號
from PyQt5.QtCore import pyqtSignal
class A():
#創(chuàng)建了一個my_signal信號
my_signal = pyqtSignal(int)
一個信號引起另一個信號
button.clicked.connect(my_signal.emit)
如何發(fā)送信號
#value 就是參數(shù)
value = 5
my_signal.emit(value)
如何連接connect信號和槽
def hi(value):
print("hello world")
a = A()
a.my_signal.connect(hi)
如何取消connect
#指定解除槽hi的聯(lián)系涤躲,如果不指定,則disconnect所有槽
a.my_signal.disconnect(hi)
方法
代碼的實現(xiàn)是簡單的,信號可以產(chǎn)生信號,多個信號可以對應(yīng)1個槽沦疾,一個信號也可以對應(yīng)多個槽铣卡,關(guān)注關(guān)系