PyQt4获取用户最后从多个QTableWidgets单击的QTableWidget的名称

时间:2013-10-06 09:14:37

标签: python pyqt pyqt4 signals-slots qtablewidget

我有10 QTablewidgetsQTableWidget中的每一个都显示不同的数据。我想获取上次用户点击(在任何单元格上)的表格小部件的名称。

目前我尝试将所有表放在列表中:

table1 = QtGui.QTableWidget()
table2 = QtGui.QTableWidget()
...
...
mytablelist = [table1,table2,....]

使用Signal and Slots我试过了:

for item in mytablelist:
    self.connect(item,QtCore.SIGNAL("cellClicked()"),self.Identify)

我的Identify功能如下:

def Identify(self):
    sender = self.sender()
    print sender

据我所知,sender()方法应该告诉我信号来自哪个Qobject

我似乎没有得到Identify函数的任何输出。是什么导致了这个问题,我该如何解决?

有没有更好的方法解决这个问题?

1 个答案:

答案 0 :(得分:0)

我想我发现了这个问题。这是我使用的信号cellClicked()的问题(我不明白为什么)。

所以,我尝试使用itemSelectionChanged()信号而不是我在问题中使用的cellClicked()。它现在工作正常。之后我只使用index()方法获取表格中表格的位置。

tableindex = mytablelist.index(sender)