PyQt5基础学习-信号和槽的自动连接 1.@QtCore.pyqtSlot(定义为槽函数) 2.QpushButton().setObjectName("设置需要绑定的函数名")
@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_())