0

申し訳ありませんが、以前に質問されたことは知っていますが、私には解決策がありません。

私の状況は非常に基本的です。テーブルビューがあり、各行にいくつかの QPushButtons があります。私にとって難しいのは、どのボタンがクリックされたかを知ることです。

Mappers について読んだことがありますが、うまくいきません。Eclipse は満足していません。例外です...

signalMapper = QSignalMapper()            
for row,dossier in enumerate(Dossier.listeDossiers):
  button = QPushButton("Archive")
  signalMapper.setMapping(button, row)
  QObject.connect(button, SIGNAL("clicked()"), signalMapper, SLOT("map()"))
  self.dlg.ui.tableWidget_dossiers.setCellWidget(row, 5, button)

def getArchive(self,row):
   print "Row " + str(row)

これが間違っているか、一部の行が欠落していることはわかっていますが、多くの解決策を試しました。よろしくお願いします エティエンヌ

4

1 に答える 1

1

QButtonGroupを使用します。

    self.buttonGroup = QtGui.QButtonGroup(self)
    self.buttonGroup.buttonClicked[int].connect(self.getArchive)
    for row, dossier in enumerate(Dossier.listeDossiers):
        button = QPushButton("Archive")
        self.buttonGroup.addButton(button, row)
        self.dlg.ui.tableWidget_dossiers.setCellWidget(row, 5, button)

def getArchive(self, row):
    print "Row " + str(row)
于 2013-11-13T02:04:40.783 に答える