Aller au menu - Aller au contenu

Nouveau chapitre Qt : MVC et widgets complexes

Revenir à la liste des news
Participer à la discussion

Informations

Contributeur(s) : M@teo21
Publié : le 27/06/2008 à 22:36:41
Catégorie : Tutoriels
Visualisations : 1 025

Nouveau chapitre Qt : MVC et widgets complexes

Et hop, voilà un nouveau chapitre tout chaud !
Vous noterez qu'il est rare que je mette le mot "complexe" dans un titre de chapitre, mais bon, c'est bientôt la fin du cours, il faut bien assumer de faire des chapitres traitant de sujets un peu plus métaphysiques. :p

Image utilisateur
14) L'architecture MVC avec les widgets complexes

Le principal thème de ce nouveau chapitre est l'architecture MVC : Modèle - Vue - Contrôleur. La première partie de ce chapitre vous explique de quoi il s'agit : qu'est-ce que MVC, pourquoi a-t-on besoin d'un tel design pattern lorsqu'on réalise des GUI, quels avantages on peut en tirer...

Puis, nous verrons comment Qt exploite ce principe de manière un peu simplifiée avec des widgets que j'appelle "complexes" (parce qu'ils sont pas tous simples à utiliser non plus :-° ). Nous découvrirons 3 widgets qui exploitent l'architecture MVC et qui demandent donc un peu plus de préparation que d'habitude avant d'être utilisés :

  • La liste
  • Le tableau
  • L'arbre




Je ne vous cache pas que ce chapitre fait partie des plus difficiles, il faudra sûrement un peu plus vous accrocher que d'habitude, mais c'est à la portée de tous ceux qui ont bien suivi le cours jusqu'ici. Vous aurez à la fin un bien meilleur contrôle sur les données que vous souhaitez afficher à l'utilisateur.


Prochain chapitre à venir : le réseau



Voilà, mine de rien on touche à la fin comme je vous l'avais annoncé. Il me reste encore un dernier chapitre prévu après celui-là, un chapitre qu'on me demande depuis des années en fait, sur la gestion du réseau. Ou comment faire communiquer 2 applications via un réseau, en réalisant par exemple un programme de Chat.
Ce chapitre n'était pas prévu à la base (on ne va pas vraiment parler de GUI), mais vu la demande il fallait bien que je fasse quelque chose.
Attention, ce sera un peu plus bas niveau que les chapitres précédents et il faudra ingurgiter rapidement pas mal de théorie, mais vous aurez au moins les bases pour adapter ensuite votre application pour qu'elle puisse communiquer à travers le réseau.


Et après le tutoriel C++ ?



Après ça, comme je l'avais annoncé, j'arrêterai le tutoriel C++. Ca fait plusieurs années que je suis dessus et, ce n'est pas tellement que je me lasse, mais il faut savoir passer à autre chose au bout d'un moment sinon on n'en sort plus (il y aurait toujours quelque chose à expliquer). Je ne vous lâcherai pas dans la nature cependant, car j'envisage de rajouter une annexe vous présentant une liste de choses que je vous invite à découvrir, pour que vous sachiez quoi apprendre par la suite.

Les experts seront les premiers à vous le dire : l'apprentissage du C++ ne se termine jamais, il est sans fin (terrifiant hein ?). J'espère avec ce tutoriel, ainsi que celui sur le C, vous avoir donné goût à la programmation et vous avoir donné des bases solides pour vous former.

Après le C++, je n'envisage pas de prendre ma retraite dans une île perdue des Caraïbes (il est un peu tôt !), je vais au contraire pouvoir me concentrer à nouveau sur le tutoriel Linux qui, lui, est encore loin d'être achevé.
Et puis j'ai, je l'avoue, plusieurs projets de tutoriels en tête. Des projets qui pourraient bien vous surprendre, mais nous en reparlerons en temps et en heure. ;)

75 Participations

Pour accéder à cette section
Connectez-vous !
connexion_rpx
Page Précédente  1  2  3 
Pseudo Discussion
3 visiteurs sur cette news (0 membre et 3 anonymes)
Page Précédente  1  2  3 
Hors ligne Karlitos_sf # Posté le 28/06/2008 à 16:18:57
Avatar

Nickel, vivement la suite ;) .

Le premier wiki fantasy: Les Profondeurs de la Magie
 
Hors ligne mezmezy # Posté le 28/06/2008 à 17:03:29

Études : Cégep Limoilou

Mes plus sincère remerciement pour tout ce travail que tu a fait pour rédiger ce tuto (les derniers chapitres sont arrivés vite, je n'ai même pas le temps de suivre :-° )!


Je ne sais pas si MVC est le nom 'officiel', mais, dans mon cours de programmation, ça nous a été présenté comme ceci : couche de données, couche 'interface graphique' et la couche traitement.
Hors ligne gouttegd # Posté le 28/06/2008 à 17:58:31
Serenity is a RAID 1 array.
Avatar

@ mezmezy : Non, le modèle d'architecture 3-tiers (données, traitements métier, présentation) dont tu parles, ce n'est pas la même chose que le MVC (même si ça peut y ressembler sur certains points).

« Je vous aiderai si vous me promettez d'aider quelqu'un d'autre en retour. » --- Anonyme
« Soyez vigilant lorsque vous vous exprimez dans un forum électronique. Vos fautes de frappes et de syntaxe vous poursuivront pour l'éternité. » --- Linus B. Torvalds

De la gestion automatique des dépendances...
 
Hors ligne SpyBen # Posté le 28/06/2008 à 21:38:42
Noob Spotted !!
Avatar

Merci merci! Mais pour l'instant RDV sur le serveur jeu! ^^
Hors ligne hugogo # Posté le 30/06/2008 à 00:49:40
Je me lance pas, je m'autorise
Avatar
Groupe : Bannis

J'espère qu'un beau jour tu rajouteras des notions de PHP à ton super tutoriel !

Entreprends tout ce que tu peux pour te sortir de cette merde.

 
Hors ligne Laurent # Posté le 30/06/2008 à 06:02:34
Avatar

Personnellement, je crois qu'une bonne idée de tutoriel serait un tutoriel sur le SQL. Le bout dans celui de PHP ne fait vraiment qu'effleurer la surface, et ça permettrait d'avoir des sites web plus efficaces pour bien des zéros. Notamment, aborder les points suivants :

- Les clé primaires : c'est tellement cruciale dans une BD.
- Les clé étrangère (MySQL les supporte je crois avec InnoDB)
- Les transactions
- Les jointures de table : encore une fois, c'est tellement important à savoir quand on travaille avec une BD...
- Les procédures stockées
- Les fonctions d'agrégation (autre que COUNT(*) )
- Travailler avec les dates
- Les éléments NULL

Bref, tant de chose qui pourraient aider les zéros qui se font des sites web PHP + MySQL. Je vois tellement de problème dans les forums PHP qui pourraient se résoudre avec un simple INNER JOIN... Je ferais le tutoriel moi-même, mais je n'ai pas tellement de talent pour en écrire...
 
Hors ligne Natim # Posté le 30/06/2008 à 08:24:00
Apprendre à coder c'est coder
Avatar
Groupe : Anciens
Flux RSS

Ville : Belfort
Pays : France métropolitaine

Citation : Laurent
Personnellement, je crois qu'une bonne idée de tutoriel serait un tutoriel sur le SQL. Le bout dans celui de PHP ne fait vraiment qu'effleurer la surface, et ça permettrait d'avoir des sites web plus efficaces pour bien des zéros. Notamment, aborder les points suivants :

- Les clé primaires : c'est tellement cruciale dans une BD.
- Les clé étrangère (MySQL les supporte je crois avec InnoDB)
- Les transactions
- Les jointures de table : encore une fois, c'est tellement important à savoir quand on travaille avec une BD...
- Les procédures stockées
- Les fonctions d'agrégation (autre que COUNT(*) )
- Travailler avec les dates
- Les éléments NULL

Bref, tant de chose qui pourraient aider les zéros qui se font des sites web PHP + MySQL. Je vois tellement de problème dans les forums PHP qui pourraient se résoudre avec un simple INNER JOIN... Je ferais le tutoriel moi-même, mais je n'ai pas tellement de talent pour en écrire...


Le problème de ceci, c'est que les différents serveurs SQL ne sont pas standardisé en ce sens que bien des choses diffèrent de l'un à l'autre des moteurs.

Ah mon avis, pour ce qui est du SQL, le plus simple est encore de lire la documentation approprié non ?
 
Hors ligne idk # Posté le 30/06/2008 à 10:42:45
Avatar

Il faudrait aussi un tuto sur les QGraphisView de qt4, c'est un des points forts de qt!
Hors ligne anonyme # Posté le 30/06/2008 à 21:24:25

Réseau posix, winsock ou Qt-net ?
Hors ligne Xhtml_boys # Posté le 01/07/2008 à 08:01:16
#k3v1n5 faut rever
Avatar
Groupe : Bannis

Citation : k4dw4
Si on y va comme ça on peut y aller pour un deuxième big tuto: POO, Gestion de l'encodage, XML, XSLT, SPL, moteur de template, gestion du cache, présentation des différents moteur de framework, les différents design pattern (DAO, MVC, Singleton, CRUD, REST, …), …

avec des si, je pourrais te mettre dans une bouteille.

Celui d'au dessus :
Et puis quoi encore, des winsock !
Il a fait du portable jusqu'a maintenant, alors il finira en portable !

E a ton avis,
il écris des chapitre sur le reseau appelée : [Pratique]Créez vos propres fenêtres avec Qt, on apprends quoi ?
Hors ligne Xp4-Falco # Posté le 01/07/2008 à 16:50:43
Prinny Powered
Avatar

Ozstriker
Le joueur de Counter Strike?
Hors ligne Asterix # Posté le 02/07/2008 à 14:02:16
Carpe Diem inversé
Avatar

Faites du python/Tk, c'est tellement plus simple, plus clair, plus rapide :).
Hors ligne Belkadam # Posté le 03/07/2008 à 12:19:05
Vive le SdZ
Avatar

Études : USTHB

Snif snif :'( , merci coméme, ce fut un merveilleus cours :ange: .
Hors ligne pipic # Posté le 03/07/2008 à 14:59:52
Oups !
Avatar

Ville : Paris
Pays : France métropolitaine

Moi j'aimerais bien un tutoriel AJAX

Image utilisateur
Être (riche) ou ne pas être (riche) telle est (la vraie) question. :p
Baltahzar Picsou
A LIRE : WINK

FANS DE PICSOU ? CLIQUEZ !










 
Hors ligne trobert94 # Posté le 03/07/2008 à 17:23:28
Avatar
Flux RSS

Études : INSA Rouen

il y en a un non-officiel.

M@teo n'aime pas trop le JS je crois, alors je ne pense pas qu'il fasse un tutoriel dessus, et donc pas non plus sur l'ajax.

AJAX et l'échange de données en JavaScript de Thunderseb
Les objets XMLHttpRequest de 6(sic)6

Ca devrais aller non ?
Pour accéder à cette section
Connectez-vous !
connexion_rpx

Revenir à la liste des news