小编Enz*_*nzy的帖子

PyQt5:查找点击了哪个QPushButton

我有多个按钮,想知道单击了哪个按钮。我已经发现了错误,并且知道该sender()函数必须QWidget与类对象一起使用,但我无法找出解决方案。

from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):

    def setupUi(self, MainWindow):
        """Widget code here"""
        self.btn1 = QtWidgets.QPushButton(self.widget)
        """Button properties here"""
        self.btn1.setObjectName("btn1")
        self.btn1.clicked.connect(self.btnListener)

        self.btn2 = QtWidgets.QPushButton(self.widget)
        self.btn2.setObjectName("btn2")
        self.btn2.clicked.connect(self.btnListener)

        """..... more buttons"""

    def btnListener(self):
        sender_button = self.sender() # Error Ui_MainWindow has no attribute sender
        print(sender_button)

if __name__ == "__main__":
    import sys
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    sys.exit(app.exec_())
Run Code Online (Sandbox Code Playgroud)

python qpushbutton pyqt5

1
推荐指数
1
解决办法
1万
查看次数

标签 统计

pyqt5 ×1

python ×1

qpushbutton ×1