由于排序和/或过滤,我正在使用一些带有QSortFilterProxyModel扩展的相关模型的tableview。一切正常,除了行号(我的意思是垂直标题)。 使用此代码:
def headerData(self, section, orientation, role):
if role == QtCore.Qt.DisplayRole:
if orientation == QtCore.Qt.Horizontal:
return self.__header[section]
elif orientation == QtCore.Qt.Vertical:
return section + 1
固定行号分配给每一行。这会导致排序/过滤时出现问题。 我想出了一个解决方案:覆盖默认过滤和排序方法,并将一些额外的参数(行号)放入数据中,并在每次排序或过滤时重写它。
问题:还有其他解决办法吗?有哪些方法可以在排序/过滤操作后显示实际项目位置?
答案 0 :(得分:3)
具有自定义QSortFilterProxyModel
的{{1}}的简单子类可以这样做:
headerData