stabile Sortierung QTreeWidgetItems in QTreeWidget?
-
21-09-2019 - |
Frage
Ich habe eine Liste von QTreeWidgetItems (mit Kindern) in einem QTreeWidget. Ich habe kein Modell für meine Daten verwenden.
Von einem anderen Fenster in meiner Anwendung die Benutzer durch den gleichen Satz von Daten navigieren können (gesehen unterschiedlich) und die QTreeWidget im ersten Fenster dann hebt hervor, dass bestimmte Zeile durch die Hintergrundfarbe zu setzen.
Wenn jedoch die QTreeWidget auf einer Spalte sortiert wird, in dem einige der Elemente den gleichen Wert haben, ist es nicht definiert, welches Element zuerst ist. Wenn ich gesetzt ist, dann die Navigation durch das andere Fenster und die Hintergrundfarbe des Elements verwendet wird, automatisch die gleichen Elemente Swaps in der Ansicht. Das sieht sehr seltsam.
Ich vermute, dass dies den Sortieralgorithmus von QTreeWidget fällig ist, aber weiß jemand eine mögliche Abhilfe für diesen?
Lösung
Sind Sie mit QItemSelectionModel
, dies zu tun, oder haben Sie es selbst schreiben?
- Wenn Sie es selbst geschrieben würde ich vorschlagen
QItemSelectionModel
verwenden. - Wenn Sie nicht haben, es klingt wie Sie eine benutzerdefinierte wollen Algorithmus Sortierung, die eine abgeleitete
QTreeWidget
erfordern würde, zu schaffen, wenn Sie das tun, dann kann man auch nur mitQTreeView
und ein benutzerdefinierter Model / View Rahmen und einQTreeView
.