1

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

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

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函数中得到任何输出。是什么导致了问题,我该如何解决?

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

4

1 回答 1

0

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

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

tableindex = mytablelist.index(sender)
于 2013-10-06T09:41:45.373 回答