【问题标题】:PyQt4 Getting the name of QTableWidget that user last clicked from multiple QTableWidgetsPyQt4 从多个 QTableWidget 中获取用户最后点击的 QTableWidget 的名称
【发布时间】:2013-10-12 23:40:45
【问题描述】:

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

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

【问题讨论】:

    标签: python pyqt pyqt4 signals-slots qtablewidget


    【解决方案1】:

    我想我找到了问题所在。这是我使用的信号cellClicked() 的问题(我不知道为什么)。

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

    tableindex = mytablelist.index(sender)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-06-26
      • 1970-01-01
      • 2019-08-01
      • 1970-01-01
      • 2019-02-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多