On voit dans ce fichier :
l'import des classes PyQt qu'on utilise, à partir du module PyQt5.QtWidgets . On
les a nommées ici pour vous indiquer dans quel module PyQt ces classes sont
définies ; on aurait tout aussi bien pu faire from PyQt5.QtWidgets import * ;
la définition de la classe QMainWindow comme classe fille de QMainWindow ;
l'appel au constructeur parent, via la fonction super (chose habituelle – et
essentielle ! – en OO) ;
le dimensionnement de la fenêtre : 300 pixels (horizontalement) × 150 pixels
(verticalement) ;
la définition du titre à afficher pour la fenêtre, via setWindowTitle ;
la création d'un widget central, instance de QWidget ;
la création d'un libellé statique affichant "Titre" (instance de QLabel), d'un champ
de saisie (instance de QLineEdit) et d'un bouton OK (instance de QPushButton).
La création des divers éléments mérite quelques précisions. Chaque constructeur attend
un argument indiquant un objet parent. Ceci permet à PyQt d'enregistrer les relations de
parenté entre composants et définir ainsi une arborescence. Nous voyons ainsi que, par
construction, le widget central (self.centralwidget) est enfant de la fenêtre
principale (self) et les trois autres éléments sont enfants de ce widget central. La
hiérarchie des composants de notre fenêtre MainWindowBiblio est illustrée sur la
Figure 5.4 (à gauche, la version visuelle et, à droite, la version arborescente, telle que
stockée en mémoire par PyQt).
Figure 5.4 : Hiérarchie des composants dans MainWindowBiblio
69
l'import des classes PyQt qu'on utilise, à partir du module PyQt5.QtWidgets . On
les a nommées ici pour vous indiquer dans quel module PyQt ces classes sont
définies ; on aurait tout aussi bien pu faire from PyQt5.QtWidgets import * ;
la définition de la classe QMainWindow comme classe fille de QMainWindow ;
l'appel au constructeur parent, via la fonction super (chose habituelle – et
essentielle ! – en OO) ;
le dimensionnement de la fenêtre : 300 pixels (horizontalement) × 150 pixels
(verticalement) ;
la définition du titre à afficher pour la fenêtre, via setWindowTitle ;
la création d'un widget central, instance de QWidget ;
la création d'un libellé statique affichant "Titre" (instance de QLabel), d'un champ
de saisie (instance de QLineEdit) et d'un bouton OK (instance de QPushButton).
La création des divers éléments mérite quelques précisions. Chaque constructeur attend
un argument indiquant un objet parent. Ceci permet à PyQt d'enregistrer les relations de
parenté entre composants et définir ainsi une arborescence. Nous voyons ainsi que, par
construction, le widget central (self.centralwidget) est enfant de la fenêtre
principale (self) et les trois autres éléments sont enfants de ce widget central. La
hiérarchie des composants de notre fenêtre MainWindowBiblio est illustrée sur la
Figure 5.4 (à gauche, la version visuelle et, à droite, la version arborescente, telle que
stockée en mémoire par PyQt).
Figure 5.4 : Hiérarchie des composants dans MainWindowBiblio
69
