2016-01-19 2 views
0

Afin de sauvegarder un QStandardItemModel dans un fichier, je voudrais détecter si des modifications ont été effectuées sur le modèle ou non.Détecter les modifications dans QStandardItemModel

Des modifications peuvent être:

  • Mise à jour des articles
  • Suppression des articles
  • Nouveaux objets (ajouter/insert)
  • Mouvement des éléments (par exemple wihtin un arbre)

L'idée est de définir un booléen sur true si un changement est détecté.

Comment le modèle peut-il être surveillé par rapport aux données modifiées?

Répondre

0

Le modèle émet toutes sortes de signaux lorsqu'un changement se produit. Il suffit de regarder dans sa classe de base (QAbstractItemModel). Connectez-vous à ces signaux et vous serez en mesure de savoir exactement quels changements se produisent.

+0

À droite, j'étais 1) en espérant trouver une seule méthode et 2) avoir des problèmes parce que l'appendRow ne semble pas lancer un signal correspondant ... – Tob

+0

Il va émettre 'rowsAboutToBeInserted' et' rowsInserted'? – peppe

+0

Je me suis connecté au second (sans succès) mais je vais vérifier demain. – Tob