정렬 및/또는 필터링으로 인해 관련 모델이 QSortFilterProxyModel으로 확장 된 일부 테이블 뷰를 사용하고 있습니다. 모든 행의 숫자를 제외하고 잘 작동합니다 (나는 수직 헤더를 의미). 이 코드를 사용 :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
예, 셀보다 헤더가 더 선호됩니다. 더 직관적으로 보입니다. – Miso
기다려주십시오 ... 제가 오해했다고 생각합니다. 'QSortFilterProxyModel'은 실제로 원래의 숫자를 그대로 유지합니다. 하지만 너는 그걸 원하지 않니? 원본 행이 어디에 있던지에 상관없이 정렬 후에 행 번호가 '1'에서 'N'으로 바뀌길 원합니다. 맞습니까? – Avaris