如何询问是否单击了按钮列表中的按钮

2024-04-26 07:22:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个按钮列表,我不知道如何拥有列表中每个按钮的功能。你知道吗

flatButton = QtGui.QPushButton("Band " + str(i))
self.Layout1.addWidget(flatButton)
list.append(flatButton)

Tags: self功能列表band按钮listappendstr
1条回答
网友
1楼 · 发布于 2024-04-26 07:22:17

从标题中,我假设您有一堆按钮,它们的clicked信号连接到同一个插槽,当单击一个按钮时,您希望标识它。如果我是对的,你需要的是sender()方法。下面的代码显示了它:

from PyQt4.QtGui import *

class MyWidget(QWidget):
    def __init__(self, parent=None):
        super(MyWidget, self).__init__(parent)
        self.hlayout = QHBoxLayout()
        self.setLayout(self.hlayout)
        for c in range(3):
            b = QPushButton("button {}".format(c), self)
            b.clicked.connect(self.clickHandler)
            self.hlayout.addWidget(b)

    def clickHandler(self):
        button = self.sender()
        print button.text()

if __name__ == '__main__':
    import sys
    app = QApplication(sys.argv)
    w = MyWidget()
    w.show()
    sys.exit(app.exec_())

不管怎样,当你问一个问题的时候,你应该给出更多的细节:说你尝试过的,写一些代码,有意义的解释等等

相关问题 更多 >