Seite 1 von 1

QtableWidget unsichtbare Zeile wieder sichtbar machen

Verfasst: Montag 25. Juni 2018, 18:30
von nieselfriem
Hallo Zusammen

ich habe einen Dialog, bei dem ich durch die Anzahl einer Spalte gesteuert Zeilen einer Tabelle unsichtbar mache.
dies geschieht durch

Code: Alles auswählen

self.produktTb.hideRow(self.selected_prod_row)
self.produktTb.sortByColumn(1, 0)
nun möchte ich diesen weg auch umgekehrt gehen können. Das heißt, wenn ich durch eine Änderung der Spalte Anzahl (Anzahl > 0) diese Zeile wieder sichtbar werden lassen möchte. Dies habe ich nun mit folgendem Code probiert:

Code: Alles auswählen

self.produktTb.showRow(prod_row)
Ich habe die Variablen prod_row und self.selected_prod_row überprüft. beide haben den gleichen Zeilenwert. Was mach ich da falsch?
Wichtig ist evtl auch zu wissen, dass sich die Werte der Spalten auch bei den Operationen auch wirklich ändern. Denn das funktioniert bei den Zeilen, die nicht versteckt werden. Denn das soll immer dann geschehene, wenn die Spalte Anzahl = 0 ist.

VG niesel

Re: QtableWidget unsichtbare Zeile wieder sichtbar machen

Verfasst: Montag 25. Juni 2018, 19:20
von __deets__
Mir ist nach deiner Beschreibung nicht so klar, was du da wirklich vor hast. Dazu fehlt da auch Code, um die Klassen der beiteiligten Objekte zu erraten.

Aber grundsätzlich klingt das nach eine falschen Vorgehen, weil man sowas eigentlich nicht durch die Manipulation von Views machen will. Sondern durch ein QAbstractItemModel oder dessen Unterklassen. Dadurch kannst du zb eine Datenstruktur mit allen Einträgen und eine zweite mit verborgenen vorhalten. Und Änderungen an der letzteren führen dazu, das das Model erklärt verändert zu sein & die entsprechenden Einträge dann verändert oder gar nicht mehr anzeigt.