Pregunta

Tengo un QTreeView con datos que cambia con el tiempo, con una señal DataChanged siendo emitida en la QAbstractItemModel cada segundo. Los elementos de la QTreeView se pueden editar también, pero cuando se abre un editor para un determinado elemento de la cadena Editor se actualiza mientras edición es, que es muy molesto. Cualquier forma de prevenir un editor para actualizarse con los nuevos valores?

¿Fue útil?

Solución

¿Utiliza su propio modelo con QTreeView? En este caso se sobrescribe y no devuelve ningún dato para Qt :: EditRole. Si no es conveniente para usted (usted quiere tener los datos actuales en el campo cuando se empieza a editar), entonces usted puede crear su propia QItemDelegate / QStyledItemDelegate e implementar una lógica de encargo allí: que así el widget no se actualiza con el nuevo valor, cuando se tiene el foco, por ejemplo.

Althought puede ser que falte algo, y no hay una manera más fácil de hacer esto.

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