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?

È stato utile?

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 usare QTreeView e un costume QAbstractItemModel .

Inoltre, se si dispone di due visualizzazioni degli stessi dati, altamente raccomandato di utilizzare il Model / View quadro e una QTreeView.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top