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 回答