QTreeWidgetItems ordinamento stabili in QTreeWidget?
-
21-09-2019 - |
Domanda
Ho una lista di QTreeWidgetItems (con i bambini) in una QTreeWidget. Io non uso un modello per i miei dati.
Da un'altra finestra nella domanda l'utente può navigare attraverso lo stesso insieme di dati (visto diversamente) e il QTreeWidget nella prima finestra poi evidenzia tale riga specifica impostando il colore di sfondo.
Tuttavia, quando il QTreeWidget viene ordinato su una colonna in cui alcuni degli elementi hanno lo stesso valore non è definito quale elemento è il primo. Quando poi ho navigare utilizzando l'altra finestra e il colore della voce di fondo è impostata, gli elementi uguali swap posto nella vista automaticamente. Questo sembra molto strano.
Ho il sospetto che questo è dovuto l'algoritmo di ordinamento di QTreeWidget, ma qualcuno sa una possibile soluzione a questo?
Soluzione
Si sta utilizzando QItemSelectionModel
per fare questo, o ha fatto scrivere da soli?
- Se hai scritto da te Io suggerirei di usare
QItemSelectionModel
. - Se non l'avete fatto, suona come si desidera un algoritmo di ordinamento personalizzato che richiederebbe la creazione di un
QTreeWidget
derivato, se si sta facendo questo, si potrebbe anche solo usareQTreeView
e un costumeQAbstractItemModel
.
Inoltre, se si dispone di due visualizzazioni degli stessi dati, altamente raccomandato di utilizzare il Model / View quadro e una QTreeView
.