PySide QTableWidget:直接处理行而不是项?

2024-09-27 20:16:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个有3列和一些行的表。我想

  • 为每行显示一个工具提示
  • 将用户定义的数据设置为每一行
  • 处理每个角色选择

为了通过单击整行中的一个单元格来显示对整行的选择,我在QT Designer中将selectionBehabior设置为SelectRows。工作。在

问题是,我只能处理行内的单个项目。要在每三个单元格上显示相同的工具提示,我需要将其设置为每个单元格。我的代码:

for entry in entries:
    #col 1
    item = QtGui.QTableWidgetItem(entry['published'])
    item.setToolTip(entry['subtitle'])
    self.tableFeedEntries.setItem(i, 0, item)
    #col 2
    item = QtGui.QTableWidgetItem(entry['author_name'])
    item.setToolTip(entry['subtitle'])
    self.tableFeedEntries.setItem(i, 1, item)
    #col 3
    item = QtGui.QTableWidgetItem(entry['title'])
    item.setToolTip(entry['subtitle'])
    self.tableFeedEntries.setItem(i, 2, item)   

    i += 1

因此膨胀。
我宁愿对每行使用一次setToolTip()和setData(),但我不知道如何使用。好吧,虽然这两件事有点不错,但我在处理选择事件时遇到了一个真正的问题:检查当前选定的行是否与前一行不相等。在

^{pr2}$

这还会检查,而不是。因此,如果单击已选定行中的另一个单元格,则相同的进程将再次运行。

如何将数据和事件处理程序设置为行?在


Tags: 工具数据用户self定义事件colitem

热门问题