Pregunta

Tengo una lista de QTreeWidgetItems (con niños) en un QTreeWidget. Yo no uso un modelo para mis datos.

Desde otra ventana en mi aplicación el usuario puede navegar a través del mismo conjunto de datos (considerado de manera diferente) y el QTreeWidget en la primera ventana a continuación, pone de relieve esa fila específica ajustando el color de fondo.

Sin embargo, cuando el QTreeWidget está ordenada en una columna en la que algunos de los artículos tienen el mismo valor que no está definido qué elemento es el primero. Cuando a continuación, navegar usando la otra ventana y el color de fondo del elemento se establece, los elementos iguales permutas lugar en la vista de forma automática. Esto parece muy extraño.

Sospecho que esto se debe al algoritmo de ordenación de QTreeWidget, pero ¿alguien sabe una posible solución a este?

¿Fue útil?

Solución

¿Está utilizando QItemSelectionModel para hacer esto, o qué escribió usted mismo?

  • Si usted ha escrito usted mismo se recomienda usar QItemSelectionModel.
  • Si no lo hizo, suena como usted quiere un algoritmo de ordenación personalizada que requieren la creación de un QTreeWidget derivada, si usted está haciendo eso, puede ser que también acaba de utilizar QTreeView y una costumbre QAbstractItemModel .

Además, si usted tiene dos vistas de los mismos datos, habría muy recomendable el uso de la Modelo / Ver marco y un QTreeView.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top