Organiser son interface
Des objets appelés widgets
À l'intérieur de l'interface, qui est pour le moment, un simple rectangle gris, on place des objets graphiques, appelés widgets.
Chaque widget devra avoir été affecté à une variable.
Il existe de très nombreux objets graphiques, on se limitera à :
Widget | Description |
---|---|
Label() | Zone d'affichage de texte. |
Entry() | « Formulaire » qui permet de récupérer du texte entré par l'utilisateur |
Button() | Un bouton sur lequel cliquer. |
Canvas() | Canevas très "souple" qui correspond à une zone de dessin ou d'animation. Ce sera le widget le plus utilisé. |
Gestionnaire de position
Pour positionner un widget, tkinter propose trois gestionnaires de position. Chacun permet de placer les widgets avec une philosophie différente :
Gestionnaire de position | Description |
---|---|
pack | Le conteneur est coupé en deux zones. L'une de ces zones sera la zone occupée par le widget et l'autre la zone libre. La zone libre sera de nouveau coupée en deux au positionnement du prochain widget. |
place | Positionne le widget au pixel près. Ce gestionnaire est difficile à utiliser dans la pratique. |
grid | Découpe le conteneur en grille et place le widget dans une cellule de cette grille. C'est ce positionnement que nous utiliseront le plus ! |
Fondamental : La méthode .grid()
Cette méthode s'applique de cette sorte :
nom_widget.grid(row=..., column=...)
La fenêtre est alors « partagée » virtuellement (comme la feuille de calcul d'un tableur) en lignes ( row = a ) et colonnes ( column = b ) numérotées à partir de 0.
On obtient ainsi des « cellules » dans lesquelles placer les différents widgets.
La méthode .grid() accepte des paramètres optionnels qui permettent :
de positionner le widget dans la cellule si celle-ci est trop grande pour lui avec l'attribut : sticky = position
de fusionner plusieurs cellules à partir de la cellule dans laquelle le widget est positionné.
L'attribut rowspan = n fusionne n cellules verticalement.
L'attribut columnspan = n fusionne n cellules horizontalement
Conseil :
La disposition des différents widgets dans une fenêtre doit être décidée AVANT de programmer ces widgets.
Faire des croquis de l'apparence désirée à l'aide d'un papier et d'un crayon est indispensable.