Question

J'ai un QTreeView avec des données qui changent au fil du temps, avec un signal dataChanged étant émis dans le QAbstractItemModel chaque seconde. Les éléments de la QTreeView peuvent être édités aussi bien, mais quand un éditeur est ouvert pour un certain élément de la chaîne de l'éditeur est mis à jour pendant que je édition est, ce qui est très gênant. De toute façon d'empêcher un éditeur pour être mis à jour avec les nouvelles valeurs?

Était-ce utile?

La solution

Utilisez-vous votre propre modèle avec QTreeView? Dans ce cas, vous écrasez et ne retournez pas de données pour Qt :: EditRole. Si ce n'est pas pratique pour vous (vous voulez avoir les données actuelles dans le domaine lorsque vous commencez à le modifier), vous pouvez créer votre propre QItemDelegate / QStyledItemDelegate et mettre en œuvre il y a une logique personnalisée: faire de sorte que le widget est pas mis à jour avec la nouvelle valeur, lorsqu'il a le focus, par exemple.

Althought je pourrais manquer quelque chose, et il y a un moyen plus facile de le faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top