2. Orientation objet
Comment concrètement cet assemblage de composants doit-il se programmer ? La
programmation d'une interface graphique se base sur le paradigme de l'orientation
objet (OO). C'est un trait commun à la grande majorité des bibliothèques graphiques,
en incluant Qt et PyQt : chaque élément de l'interface utilisateur, du plus simple au plus
compliqué, est un objet : il a ses attributs et ses méthodes, définis par la classe dont il
est l'instance. Un prérequis pour comprendre les chapitres qui suivent est donc de
maîtriser les concepts de base de l'OO et de connaître comment ils sont incarnés en
Python (rappelons que Python est multiparadigme : on peut donc programmer en Python
sans faire de l'OO).
PyQt fournit les composants sous forme d'un ensemble de classes ; ces classes devront
être instanciées par le programmeur en fournissant les arguments requis par les
constructeurs. Vu la complexité interne des composants, PyQt utilise la technique de
l'héritage de façon poussée : les classes à utiliser par le programmeur d'application
font partie d'une hiérarchie de classes parfois imposante ; aussi, les méthodes
accessibles dans une classe donnée peuvent être documentées dans une classe parente
ou ancêtre.
Figure 4.2 : Hiérarchie de classes Qt (extrait)
Par exemple, la plupart des éléments affichés (champs de texte, boutons, etc.) héritent
d'une classe abstraite appelée QWidget qui intègre notamment toute la stratégie de
58
Précédent

- 59/494

Suivant