QTableView: Rows verstecken
Verfasst: Montag 19. Dezember 2016, 11:18
Hallo Leute,
Ich verbringe jetzt schon Stunden mit meinem Problem und bitte euch jetzt um eure Hilfe.
Ich habe ein tableView mit einem QSortFilterProxyModel das ein QAbstractTableModel als source model hat.
In dem tableView kann man nach dem Inhalt der einzelnen Columns sortieren per sortindicator. Allerdings kommt sich das
in die Quere mit meinem Filter, der über die Rows vom Model iteriert und dann je nach Wert der zu filternden Spalte, die row versteckt oder nicht.
Solang die Sortierung nicht geändert wird funktioniert alles. Hier ein Beispiel aus meiner Filter Klasse:
Wie ihr sehen könnt mappe ich den index schon auf den source index, doch sobald ich am sortindicator der einzelnen Spalten die Sortierung änder werden falsche Zeilen versteckt.
Ich bin über jede Antwort und jeden Tipp SEHR dankbar!!
Liebe Grüße
Ich verbringe jetzt schon Stunden mit meinem Problem und bitte euch jetzt um eure Hilfe.
Ich habe ein tableView mit einem QSortFilterProxyModel das ein QAbstractTableModel als source model hat.
In dem tableView kann man nach dem Inhalt der einzelnen Columns sortieren per sortindicator. Allerdings kommt sich das
in die Quere mit meinem Filter, der über die Rows vom Model iteriert und dann je nach Wert der zu filternden Spalte, die row versteckt oder nicht.
Solang die Sortierung nicht geändert wird funktioniert alles. Hier ein Beispiel aus meiner Filter Klasse:
Code: Alles auswählen
for row in range(self.JobManagement.sortModel.rowCount()):
old_index = self.JobManagement.sortModel.index(row, 0)
new_index = self.JobManagement.sortModel.mapToSource(old_index)
row = new_index.row()
if example_condition:
JobManagement.tableView.setRowHidden(row, True)
Ich bin über jede Antwort und jeden Tipp SEHR dankbar!!
Liebe Grüße