ändern habe ich eine einfache Frage in Bezug auf die Aktualisierung eines QTreeView (oder jede Unterklasse von QAbstractItemView), wenn ein externen Objektänderung Modell. Nehmen wir an, eine Liste zeigt eine Unterklasse von QAbstractItemModel, und ein Element dieses Modells wird außerhalb des Listenfensters geändert, und wir möchten die Liste mit der Änderung aktualisieren. Was ist die übliche Strategie, um so etwas zu erreichen? Ich habe die Qt-Dokumentation von QAbstractItemModel angesehen und es gibt ein Signal mit dem Namen 'dataChanged' das (oder sollte) emitiert werden, wenn sich Daten vom Modell ändern. Aber da dieses Signal (wie alle QAbstractItemModel Funktionen/Signale/Slots) mit einem QModelIndex arbeitet, der nicht persistent ist, wie die Dokumentation eindeutig sagt, soll ich irgendwie eine Zuordnung meiner Daten zu QPersistentModelIndex (es) speichern, Wenn meine Daten ändern, werde ich in der Lage sein, die entsprechenden QPersistenModelIndex zu finden und diese als Argument für die verschiedenen QAbstractItemModel Funktionen zu verwenden? Ist das, was QPersistentModelIndex (es) verwendet werden? Oder fehlt mir etwas?ein QListView Aktualisierung bei äußerlichen Objekten
Vielen Dank.
ps: Ich denke, ich könnte nur die QTreeView nachladen, aber dann würde ich nicht wissen, welche Elemente erweitert wurden oder welche ausgewählt wurden. Gibt es eine Strategie, um dieses Problem zu lösen und die Liste einfach neu zu laden?
"Wenn Sie Ihr eigenes Modell (eine abgeleitete Klasse von QAbstractItemView) implementieren," glaube ich, dass Sie eine abgeleitete Klasse von QAbstractItemModel meinten. – McLeary