Programmer par modèle-vue
Niveau : intermédiaire
Objectifs : programmer une application PyQt/Qt Widgets en utilisant le patron de
conception MVD
Prérequis : Créer une première application, Développer avec Qt Designer
Il y a plusieurs manières de programmer une application de type interface utilisateur.
On considère comme une bonne pratique de bien séparer les données de la manière de
les représenter. Ce concept très important est incarné dans plusieurs patrons de
conception : observateur, modèle-vue-contrôleur (MVC), etc. Qt et PyQt proposent le
patron de conception modèle-vue-délégué.
L'approche modèle-vue-délégué
Selon cette approche, le modèle définit les données, la vue les affiche à l'utilisateur
et le délégué se charge plus particulièrement de l'affichage d'un élément donné,
mais aussi de son édition. Ainsi, grâce à cette conception, pour proposer plusieurs
manières de visualiser les mêmes données, il suffit de changer la vue : un tableau
des livres, une grille des couvertures, etc.
Note > Pour plus d'informations sur le patron MVD, voir aussi le chapitre
Utiliser la méthodologie modèle - vue (Développement d'une application avec
Qt Quick).
Dans ce qui suit, nous allons voir comment ce patron de conception MVD se concrétise
en PyQt à travers le développement de l'application BiblioApp. Dans un premier
temps, nous mettrons en place les fondations de l'application en présentant
successivement : les données, le modèle, la vue et le délégué. Puis nous ajouterons les
fonctionnalités nécessaires en enrichissant progressivement les objets précités. Au
final, nous aurons une application opérationnelle, munie des fonctions classiques d'une
interface utilisateur.
Note > Le code source final de ce chapitre est disponible dans le projet modele-vue
110
Niveau : intermédiaire
Objectifs : programmer une application PyQt/Qt Widgets en utilisant le patron de
conception MVD
Prérequis : Créer une première application, Développer avec Qt Designer
Il y a plusieurs manières de programmer une application de type interface utilisateur.
On considère comme une bonne pratique de bien séparer les données de la manière de
les représenter. Ce concept très important est incarné dans plusieurs patrons de
conception : observateur, modèle-vue-contrôleur (MVC), etc. Qt et PyQt proposent le
patron de conception modèle-vue-délégué.
L'approche modèle-vue-délégué
Selon cette approche, le modèle définit les données, la vue les affiche à l'utilisateur
et le délégué se charge plus particulièrement de l'affichage d'un élément donné,
mais aussi de son édition. Ainsi, grâce à cette conception, pour proposer plusieurs
manières de visualiser les mêmes données, il suffit de changer la vue : un tableau
des livres, une grille des couvertures, etc.
Note > Pour plus d'informations sur le patron MVD, voir aussi le chapitre
Utiliser la méthodologie modèle - vue (Développement d'une application avec
Qt Quick).
Dans ce qui suit, nous allons voir comment ce patron de conception MVD se concrétise
en PyQt à travers le développement de l'application BiblioApp. Dans un premier
temps, nous mettrons en place les fondations de l'application en présentant
successivement : les données, le modèle, la vue et le délégué. Puis nous ajouterons les
fonctionnalités nécessaires en enrichissant progressivement les objets précités. Au
final, nous aurons une application opérationnelle, munie des fonctions classiques d'une
interface utilisateur.
Note > Le code source final de ce chapitre est disponible dans le projet modele-vue
110
