PyQt5基礎學習-訊號和槽的自動連線 [email protected](定義為槽函式) 2.QpushButton().setObjectName("設定需要繫結的函式名")
阿新 • • 發佈:2022-02-10
@QtCore.pyqtSlot 定義為需要自動連線的槽函式, on_物件名_訊號名字
AutoSignalSlot.py
""" 訊號與槽自動連線 on_物件名_signalname """ from PyQt5 import QtCore from PyQt5.QtWidgets import QApplication, QWidget, QHBoxLayout, QPushButton import sys class AutoSignalSlot(QWidget): def __init__(self): super(AutoSignalSlot, self).每天更新pyQt5內容__init__() self.okButton = QPushButton('ok', self) self.okButton.setObjectName("okButton") self.okButton1 = QPushButton('cancel', self) self.okButton1.setObjectName("cancelButton") layout = QHBoxLayout() layout.addWidget(self.okButton) self.setLayout(layout) QtCore.QMetaObject.connectSlotsByName(self)#self.okButton.clicked.connect(self.on_okButton_clicked) @QtCore.pyqtSlot() def on_okButton_clicked(self): print("點選了ok按鈕") @QtCore.pyqtSlot() def on_cancelButton_clicked(self): print("點選了cancel按鈕") if __name__ == "__main__": app = QApplication(sys.argv) main= AutoSignalSlot() main.show() sys.exit(app.exec_())