我有一个有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(),但我不知道如何使用。好吧,虽然这两件事有点不错,但我在处理选择事件时遇到了一个真正的问题:检查当前选定的行是否与前一行不相等。在
这还会检查项,而不是行。因此,如果单击已选定行中的另一个单元格,则相同的进程将再次运行。
如何将数据和事件处理程序设置为行?在
您可以实现模型的
data
方法:医生在这里:
http://pyside.github.io/docs/pyside/PySide/QtCore/QAbstractItemModel.html#PySide.QtCore.PySide.QtCore.QAbstractItemModel.data
相关问题 更多 >
编程相关推荐