Tkinter : introduction
Les interfaces graphiques sont des fenêtres qui vous permettent de mieux représenter vos applications et ainsi permettre une meilleure interaction avec l’utilisateur. Il est en effet beaucoup plus plaisant de développer une application en interfaces graphique pour utilisateur (GUI : graphical user interface) plutôt que d’en écrire une sur invité de commande.
Python,
met donc à votre disposition la librairie nommée tkinter qui contient tous les
éléments nécessaire au développement de l’interface graphique de votre
application. Sans plus tarder commençons.
Une
fenêtre avec tkinter
La
création d’une fenêtre basique avec tkinter se fait comme suit :
from tkinter import
* # l’on
importe tous les éléments de tkinter
fenetre=Tk() #Tk() cree une fenêtre
qui est stocké dans la variable fenetre
fenetre.mainloop() # l’on active
la boucle qui permet à la fenêtre d’apparaitre
Voilà,
vous avez votre première fenêtre vide en python. C’est merveilleux n’est-ce
pas ? Maintenant voyons les méthodes qui vont nous permettre d’améliorer
notre fenêtre vide.
.title(‘titre de
l’application’) : permet de donner un titre à votre fenêtre
.iconbimap(‘icône.ico’) :
vous permet d’associer une icône à votre application
.geometry(‘longueurxlargeur+X+Y’) :
vous permet de donner sous forme de chaine de caractère, les dimensions
longueur et largeur de votre fenêtre avec un écart X et Y par rapport au coin supérieure
gauche de votre écran.
.maxsize(longueur, largeur) : donner les
dimensions maximale de votre application, lorsque l’utilisateur appuis sur le
bouton agrandir de votre fenêtre
.minsize(longueur, largeur) : donner les
dimensions minimale de votre application, lorsque l’utilisateur appuis sur le
bouton réduire de votre fenêtre
.winfo_screenwidth() : donne la
longueur de votre écran en pixel
.winfo_screenheight() : donne la
largeur de votre écran en pixel
.protocol('WM_DELETE_WINDOW',function) : permet d’exécuter la
fonction
function lorsque l’utilisateur
clique sur le bouton fermer l’application
.quit() : permet de quitter l’application
.destroy() : permet de détruire l’application
.after(milliseconds,
fonction) : permet d’exécuter une fonction après un certains nombre de
millisecondes
Exemple :
from
tkinter import*
fenetre=Tk()
fenetre.title("ma fenêtre")
fenetre.iconbitmap("ico_world_2.ico")
longueur=fenetre.winfo_screenwidth()
largeur=fenetre.winfo_screenheight()
fenetre.geometry("500x500+0+0")
fenetre.maxsize(longueur,
largeur)
fenetre.minsize(longueur-800,
largeur-200)
fenetre.protocol('WM_DELETE_WINDOW',fenetre.destroy)
fenetre.mainloop()
Voici un code d’une fenêtre
bien configuré bien que vide. Maintenant, il va falloir la remplir avec des
widgets qui sont les éléments qui vont permettre l’interaction avec
l’utilisateur.
Paramètres
de bases des widgets
.pack()
et .grid() :
Ce sont les méthodes qui permettent de fixer
le widget sur la fenêtre ou sur un autre widget
· pack : permet de coller un widget de manière classique sur une fenêtre.
Ex : widget.pack(side=’left’,
fill=’x’, padx=5, pady=5)
-
side : left, right, bottom, top
-
fill : x, y, both
- padx et pady représentent les espacement externes entre les widgets en nombres de pixels
·
grid :
permet de fixer de façon ordonnée les widgets sur une fenetre ou sur une autre
fenetre. Il subdivise la fenetre ou le widget parent en cellule comme une
feuille de tableur excel Ex : widget.grid(row = 0, column = 0,
padx=5 , pady= 5, rowspan=2, columnspan= 2, ipadx=5, ipady= 5,
sticky=’nswe’)
-
row : la ligne
-
column : la colonne
-
rowspan : le nombre de ligne à coller pour
afficher le widget
-
columnspan : le nombre de colonne à coller
pour afficher le widget
-
pady : espace en pixel entre ce
widget et ses voisins suivant y
-
padx : espace en pixel entre ce
widget et ses voisins suivant x
-
ipady : espace intérieure en pixel suivant
y
-
ipadx : espace intérieure en pixel
suivant x
-
sticky : positionnement du widget par
rapport à sa cellule n=north, s=south, e= east, w=west
relief :
c’est une option qui permet de donner divers
aspects au widgets. On a :
anchor
Il permet de positionner le widget par rapport
à son conteneur (fenêtre ou un autre widget qui le contient)
cursor :
Il Permet de définir l’aspect de la souris dans le widget. On a les valeurs suivantes :
font :
il permet de definir
la police de texte afficher par le widget. Sasyntaxe est la suivante :
(‘police’,taille_du_texte,’epaisseur’,’forme’).
-police : peut-etre
time new roman, calibri light,verdana,algerian
-taille_du_texte : un entier qui défini la taille de
police
-epaisseur : soit
bold pour le texte en gras, soit normal pour un texte normal
-forme : soit italic
pour un texte en italic, soit roman pour un texte normal
Variable associé aux
widgets
ce sont des variables qui récupère ou fixe la valeur courante
du widget (texte, état, nombre). L’on en distingue 3 types :
-StringVar() : pour les variables qui vont gérer le
texte
-IntVar() : pour les variables qui vont gérer les
entiers
-DoubleVar() : pour les variables qui vont gérer les
reels
Exemple :
Temperature,pays=DoubleVar(),StringVar()
Pour récupérer la valeur d’une variable, l’on utilise la
méthode .get() et pour lui attribuer une
valeur, l’on utilise la méthode .set(valeur)
Exemple :
Pays=StringVar()
Pays.set(‘cameroun’)
Habitants=IntVar()
Habitants.set(30000000)
Print(Pays.get(),Habitants.get())
Les couleurs :
Sur tkinter, vous avez la possibilité de définir les couleurs
de deux façons :
-
Nom en anglais : ‘red’, ‘white’,
‘light blue’, ’blue’,
’green’, ’light
yellow’
-
Code
hexadecimal : ‘#fff’, ‘#ffffff’, ‘#ffffffffffff’
(très conseillé)
les images avec tkinter :
pour ouvrir une image sur tkinter python met à notre
disposition une class nommé PhotoImage.
photo=PhotoImage(file=’neji.png’)
« photo » peut alors être intégré à un widget grâce
à l’option image que nous verrons dans
le module sur les widgets
dans un autre livre, nous verrons le module PIL qui permet de
faire de puissante opération sur les images comme GIMP ou Photoshop et Ms Word.




Commentaires
Enregistrer un commentaire