@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).__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_())