0

ボタンのリストがありますが、リスト内の各ボタンの機能を使用する方法がわかりません。

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

1 に答える 1

1

タイトルから、信号が同じスロットに接続されているボタンがたくさんあり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_())

とにかく、質問をするときは、もっと詳細を提供する必要があります。試したこと、コード、意味のある説明などを述べてください。

于 2012-11-05T13:48:05.100 に答える