這篇文章主要介紹了python如何實現(xiàn)信號與槽的斷開與連接,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網(wǎng)站空間、營銷軟件、網(wǎng)站建設、密云網(wǎng)站維護、網(wǎng)站推廣。
有時候基于某些原因,想要臨時或永久的斷開某個信號與槽函數(shù)的連接,這就是要說的內(nèi)容
一般把connect前面加上dis就是解除綁定的意思:即disconnect
實例如下
from PyQt5.QtCore import QObject,pyqtSignal class SignalClass(QObject): #聲明無參數(shù)的信號 signal1=pyqtSignal() #聲明帶一個int類型參數(shù)的信號 signal2=pyqtSignal(int) def __init__(self,parent=None): super(SignalClass, self).__init__(parent) #將signal1信號連接到兩個槽函數(shù) self.signal1.connect(self.sig1Call) self.signal1.connect(self.sig2Call) #將signal2信號連接到信號1 self.signal2.connect(self.signal1) #發(fā)射信號 self.signal1.emit() self.signal2.emit(1) #斷開信號與槽函數(shù)的關系 self.signal1.disconnect(self.sig1Call) self.signal1.disconnect(self.sig2Call) self.signal2.disconnect(self.signal1) #綁定信號與槽函數(shù) self.signal1.connect(self.sig1Call) self.signal2.connect(self.sig1Call) #信號發(fā)射 self.signal1.emit() self.signal2.emit(1) #輸出信號1發(fā)射 def sig1Call( self ): print('signal-1 emit') #輸出信號2發(fā)射 def sig2Call( self ): print('signal-2 emit') if __name__ == '__main__': signal=SignalClass()
感謝你能夠認真閱讀完這篇文章,希望小編分享的“python如何實現(xiàn)信號與槽的斷開與連接”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關知識等著你來學習!