Il y a un signal dans QStandardItemModel qui est émis lorsque les données d'un élément sont modifiées. Habituellement, nous connectons un gestionnaire pour ce signal et faisons tout le travail dans la routine gestionnaire. Une telle routine de gestion n'obtient qu'un pointeur vers l'élément. En utilisant ce pointeur, il est possible d'accéder aux données de l'article. Cependant, nous ne savons pas exactement ce qui a changé ... nous avons seulement une valeur mise à jour.Ce qui a changé exactement lorsque QStandardItemModel itemChanged est signalé
Si les données de l'article ont plusieurs rôles, je veux être en mesure d'obtenir exactement quel rôle (données) a été changé et quelle était la valeur précédente.
Merci pour l'info. Cependant, ce fut une surprise pour moi que nous ne puissions pas hériter directement de QStandardItemModel puisque ses membres ne sont pas virtuels. Est-ce que nous devons toujours implémenter toutes les choses de QAbstractItemModel? – alexkr
Oui, ou l'un de ses dérivés abstraits comme je l'ai dit, par exemple: QAbstractListModel, QAbstractTableModel, QDirModel, QFileSystemModel. L'élément, la liste ou le tableau sont généralement ce que vous utilisez. La liste et la table rendent la vie plus facile si vos données peuvent être représentées de cette façon. Quelque part dans la documentation Qt, il existe également un modèle d'arbre que vous pouvez utiliser comme référence. –