Aktualisierung eine QListView, wenn Objekte extern ändern

Ich habe eine einfache Frage bezüglich der Aktualisierung einer QTreeView (oder eine beliebige Unterklasse von QAbstractItemView), wenn ein model-Objekt ändert sich nach außen. Lassen Sie uns sagen, dass eine Liste zeigt eine Unterklasse von QAbstractItemModel, und ein Element, das Modell verändert wird, die außerhalb der Fenster, und wir möchten, aktualisieren Sie die Liste mit den Veränderungen. Was ist die übliche Strategie etwas erreichen zu wollen ? Ich habe die Qt Dokumentation von QAbstractItemModel und es ist ein signal namens " dataChanged' ist (oder sein sollte) emited, wenn Daten aus dem Modell verpasst. Aber da dieses signal (wie alle QAbstractItemModel Funktionen/Signale/slots) mit einem QModelIndex, die nicht persistent, wie die Dokumentation sagt ganz klar, soll ich den laden irgendwie ein mapping meiner Daten zu QPersistentModelIndex(es), also wenn sich meine Daten ändern, werde ich in der Lage zu finden, die entsprechende QPersistenModelIndex und verwenden, die als argument an die verschiedenen QAbstractItemModel Funktionen ? Ist es das, was QPersistentModelIndex(es) werden verwendet ? Oder bin ich etwas fehlt ?

Danke.

ps: ich denke, ich könnte einfach neu laden QTreeView, aber dann würde ich nicht wissen, welche Einträge wurden erweitert oder die ausgewählt wurden. Gibt es eine Strategie, dieses problem zu überwinden, und nur ein reload der Liste ?

InformationsquelleAutor | 2009-08-26
Schreibe einen Kommentar