由於排序和/或過濾,我使用了一些與使用QSortFilterProxyModel擴展的相關模型的tableview。一切工作正常,除了行號(我的意思是垂直頭)。 使用該代碼:QSortFilterProxyModel和行號
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
固定行號分配給每一行。這在排序/過濾時會導致問題。 我想出了一個解決方案:覆蓋默認過濾和排序方法,並將一些額外的參數(行號)添加到數據中,並在每次排序或過濾期間重寫它。
問題:有沒有其他解決方案呢?在排序/過濾操作之後顯示實際項目位置的一些方法?
你真的需要那些爲標題?如果您在模型中爲「行號」添加了另一列,這將更容易。 – Avaris 2013-02-27 12:37:38
是的,我更喜歡標題而不是單元格,因爲它看起來更直觀 – Miso 2013-02-27 12:52:01
等等......我想我誤解了。 'QSortFilterProxyModel'實際上保持原始數字不變。但你不想那樣?無論原始行在哪裏,您都希望排序後的行號從「1」到「N」,對嗎? – Avaris 2013-02-27 13:03:05