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!
QAbstractItemModel/QTreeView:beginResetModel ohne einklappen
-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
Re: QAbstractItemModel/QTreeView:beginResetModel ohne einkla
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.
-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
Re: QAbstractItemModel/QTreeView:beginResetModel ohne einkla
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 ...
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 ...
Re: QAbstractItemModel/QTreeView:beginResetModel ohne einkla
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.
-
- Beiträge: 503
- Registriert: 29. Dezember 2006 22:54
- Wohnort: HL
Re: QAbstractItemModel/QTreeView:beginResetModel ohne einkla
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.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.