Forum Programmation.c++ Model View Controller et Qt

Posté par  .
Étiquettes : aucune
0
2
juil.
2005
Bonjour,

Je débute en interface Qt et j'aimerais bien comprendre comment faire une interface "propre". Le MVC m'a l'air bien intéressant et assez incontournable (même si Qt4 [2] propose une approche plus élaborée et que le modèle est re discuté).

Je comprend dans les grandes lignes le MVC (comprendre : en français en lisant des articles ca va).
Mais comment le mettre en application ? J'ai peur de ne pas comprendre comment exploiter au mieux le mécanisme de slot signal ou que MVC ne soit pas adapté à Qt [2].

La doc de Qt donne un exemple [3], mais avec 1 singleton [4] (une seul type de donnée). Dans cet exemple, je ne comprend pas qui joue le rôle de contrôleur (deux classes seulement, directement liés par des slots).
Y a-t-il qu'un contrôler de le modèle MVC ?
Comment utiliser les signals/slots ? entre quels éléments du MVC ? Qui effectue les connections ?

J'ai tendance à penser que le contrôleur qui veux afficher une palette doit appeler la vue en lui passant les données en référence et que la vue se connecte elle même aux signaux de la classe de données. Quand on clique sur la vue de la palette pour modifier un truc, ça passe par le contrôleur, qui appelle le modèle, qui effectue des changements sur les données, et des modifications dans la classe de données entraîne un signal (vu qu'on accède aux données par des méthodes) qui met à jour automatiquement la vue. La vue est indépendante des traitements, mais pas de la manière dont sont représenté les données (ce qui me semble logique).
Ce qui me gène, c'est que ça passe pas par le contrôleur pour la réponse aux demandes de traitements. En même temps le problème, c'est que dans mon cas, l'action n'appelle pas une autre boîte de dialogue).

En fait, je crois qu'un exemple plus évolué que celui de [3], avec plusieurs vues (de même type ou non), visualisant différentes données (plusieurs palettes de couleurs) et faisant apparaître clairement les rôle du contrôleur m'aiderais.

Merci à ceux qui comprendrons où est mon problème, moi je sais pas :)

[1] http://lists.trolltech.com/qt-interest/1998-01/thread00067-0.html(...)
[2] http://doc.trolltech.com/4.0/model-view-programming.html(...)
[3] http://doc.trolltech.com/qq/qq10-mvc.html(...)
[4] http://smeric.developpez.com/java/uml/singleton/(...)
[X] http://lists.trolltech.com/qt-interest/2003-06/thread01392-0.html(...)
[X] http://lists.trolltech.com/qt-interest/2003-09/thread01410-0.html(...)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.