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

 .config(option1 = valeur,1 option2 = valeur2,……………, optionN = valeur N) : permet de modifier les option d’un widget ultérieurement après sa déclaration

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.

< fichiers et dossiers

 

Commentaires

Posts les plus consultés de ce blog

Galerie de Réalisations Python 🖼️

une Calculatrice simple avec python🧮

Bienvenue sur notre site dédié à la programmation avec Python ! 🐍