一、介紹
信號(hào)(Signal)和槽(Slot)是Qt中的核心機(jī)制,也是PyQt變成中對(duì)象之間進(jìn)行通信的機(jī)制
在pyqt5中,每一個(gè)QObject對(duì)象和pyqt中所有繼承自QWidget的控件都支持信號(hào)和槽
當(dāng)信號(hào)發(fā)射時(shí),連接槽函數(shù)將會(huì)自動(dòng)執(zhí)行,pyqt5中信號(hào)與槽通過connect()函數(shù)連接起來的。
在pyqt5中信號(hào)主要分兩類:
1.內(nèi)置信號(hào)(詳細(xì)參考各個(gè)組件)
2.自定義信號(hào)(主要用于組件之間數(shù)據(jù)的傳遞與窗口交互)
二、內(nèi)置信號(hào)的簡單介紹
使用connect()方法將信號(hào)與槽函數(shù)綁定在一起,使用disconnect()函數(shù)將信號(hào)與槽解除綁定
1、按鈕點(diǎn)擊事件(舉例)
import sys from PyQt5.Qt import * class Window(QWidget): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.setWindowTitle('按鈕事件') self.resize(500, 500) self.move(400, 200) self.btn = QPushButton('按鈕', self) self.init_ui() def init_ui(self): self.btn.resize(100, 30) self.btn.move(100, 50) self.btn.clicked.connect(self.btn_hand) def btn_hand(self): print('按鈕點(diǎn)擊了') if __name__ == "__main__": app = QApplication(sys.argv) window = Window() window.show() sys.exit(app.exec_())
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。