Salut,
Je suis en train d'apprendre Qt4 et il y à une partie qui me semble important que je n'arrive pas à comprendre, c'est la gestion du paterne MVC par Qt4.
D'âpres ce que j'ai pu lire sur Internet, Qt4 a une gestion intégré du paterne MVC.
Le problème est que je n'arrive pas à comprendre comment Qt4 l'a implémenté.
Pour moi le paterne MVC, c'est :
- Un modèle : qui contient les données avec leur méthodes de traitement,
- Une vue : qui s'occupe d'afficher des objets modèle,
- Un contrôleur : qui fait le lien entre la vue et le modèle et leur dit quoi faire.
Avec comme principal atout d'avoir trois parties bien distincte et donc une architecture très claires.
Lorsque je regarde le MVC intégré de Qt4 qui est expliqué ici : graphicsview
Je n'arrive pas à identifier ces différentes parties. (ou au minimum deux, le modèle et la vue, car ils semblent dire que le contrôleur est intégré à la vue)
Il semble que leur architecture tourne autour de 3 classes :
- QGraphicsItem : qui semble être leur modèle
- QGraphicsView : qui semble être leur vue
- QGraphicsScene : qui est aussi une autre vue ?
Lorsque l'on regarde de plus près QGraphicsItem, on peu voir qu'elle possède une méthode "paint" qui est appelé par QGraphicsView et qui serre à s'afficher.
Donc ca semble étre le modèle qui s'affiche et c'est la vue qui demande au modèle de s'afficher ?
Le modèle ne devrais normalement pas avoir à s'occuper de tout ce qui est affichage non ?
Bref, je comprend pas bien leur architecture et je ne retrouve pas les principes du paterne MVC qui est de séparer clairement chaque partie.
Quelqu'un à t'il compris le fonctionnement du "Graphics View Framework" de Qt4 et serais t'il me l'expliquer ?
Es normale que Item, qui joue le role de modèle, soit capable et même doit s'occuper de s'afficher ?
Merci d'avoir pris le temps de lire ce poste et pour vos éventuelles réponses.
Partager