我有一個按鈕列表,我不知道如何獲得列表中每個按鈕的功能。如何詢問按鈕列表中的按鈕是否被點擊
flatButton = QtGui.QPushButton("Band " + str(i))
self.Layout1.addWidget(flatButton)
list.append(flatButton)
我有一個按鈕列表,我不知道如何獲得列表中每個按鈕的功能。如何詢問按鈕列表中的按鈕是否被點擊
flatButton = QtGui.QPushButton("Band " + str(i))
self.Layout1.addWidget(flatButton)
list.append(flatButton)
從標題我假設你有一堆按鈕,你要識別它,其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_())
反正你應該問問題時提供更多的細節:說你已經嘗試一下,把一些代碼的,有意義的解釋等
令人驚訝的是這個問題出現的頻率。其他可能性是使用[按鈕組](http://doc.qt.nokia.com/4.8-snapshot/qbuttongroup.html)或[信號映射器](http://doc.qt.nokia.com/ 4.8快照/ qsignalmapper.html)。 – ekhumoro
什麼功能?你想要做什麼? – mata