如何将唯一的id /对象与TableWidget行/单元相关联?

时间:2015-03-02 18:42:23

标签: pyside

我有一个填充的TableWidget,我想知道用户选择了哪一行。通常我会使用

tableWidget.doubleClicked.connect(self.table_instruments_doubleclicked) 

def table_instruments_doubleclicked(self,line):
    name = self.tableWidget.item(line.row(),0).text()

获取所选的行号,但我有一个可排序的表,所以我猜行行索引混淆了。 有没有办法为每一行分配一个唯一的索引(甚至更好的python对象),所以当用户选择一行时我可以找回自己的id / object?

2 个答案:

答案 0 :(得分:0)

对于tablewidget,请使用item-based signals

tableWidget.itemDoubleClicked.connect(self.table_instruments_doubleclicked) 

def table_instruments_doubleclicked(self, item):
    name = item.text()

答案 1 :(得分:0)

最后,我发现可以将数据段分配到表格的每个单元格中:

object = new_object()
tableitem_date = QTableWidgetItem()
tableitem_date.setText("Content to add")
tableitem_date.setData(1,object)

然后你可以简单地准备好存储的对象

def table_instruments_doubleclicked(self,line):
    name = self.tableWidget.item(line.row(),0).data(1)