QAbstractItemModel/QTreeView:beginResetModel ohne einklappen

Alles rund um die Programmierung mit Qt
Antworten
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

QAbstractItemModel/QTreeView:beginResetModel ohne einklappen

Beitrag von -=Freaky=- »

hallo und entschuldigt den Threadtitel, mehr durfte ich leider nicht reinschreiben.

ich habe ein eigenes model (QAbstractItemModel) in einem QTreeView und an einer Stelle findet in dem model eine aenderung statt und es werden beginResetModel() und endResetmodel() aufgerufen.
nun werden dabei aber alle knoten im treeview "eingeklappt" - die (unveraenderten) knoten, die vorher "ausgeklappt" waren, moechte ich aber gerne ausgeklappt lassen.
ist das irgendwie (moeglichst einfach) machbar?

danke im voraus!
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Re: QAbstractItemModel/QTreeView:beginResetModel ohne einkla

Beitrag von upsala »

Ein Reset macht man doch nur, wenn sich alles ändert. Und da du der View sagst, daß sich alles geändert hat, darf die View auch alles einklappen.
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Re: QAbstractItemModel/QTreeView:beginResetModel ohne einkla

Beitrag von -=Freaky=- »

richtig, das reset war auch nur eine verzweiflungsloesung, damit das view aktualisiert wird.
ich arbeite noch dran, warum beim emit dataChanged() alles crasht.
ein layoutAboutToBeChanged(); layoutChanged(); tut es aber scheinbar auch so wie ich will, wobei das laut doku nicht hierfuer gedacht ist.

ich komme mir gerade mal wieder sehr daemlich vor mit den ganzen bauernloesungen ...
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Re: QAbstractItemModel/QTreeView:beginResetModel ohne einkla

Beitrag von upsala »

Wenn bei einem dateChanged() alles 'crasht', dann sollte man mit einem Debugger diesen Fehler suchen, bevor man einen zweifelhaften Workaround verwendet. Denn es ist nicht auszuschließen, daß es im späteren Programmablauf trotzdem wieder crasht.
-=Freaky=-
Beiträge: 503
Registriert: 29. Dezember 2006 22:54
Wohnort: HL

Re: QAbstractItemModel/QTreeView:beginResetModel ohne einkla

Beitrag von -=Freaky=- »

upsala hat geschrieben:Wenn bei einem dateChanged() alles 'crasht', dann sollte man mit einem Debugger diesen Fehler suchen, bevor man einen zweifelhaften Workaround verwendet. Denn es ist nicht auszuschließen, daß es im späteren Programmablauf trotzdem wieder crasht.
du hast recht und ich bin dabei. wollte aber zeitweilig an anderer stelle was machen und brauchte dazu eine lauffaehige version. ueber den sinn oder unsinn kann man sicher streiten, aber dazu zurueckkommen werde ich.
Antworten