Créer des interfaces graphiques avec Tkinter

Dans ce tutoriel, je vais expliquer comment créer des interfaces graphiques utilisateurs GUI (Graphical User Interface) en Python. 

Egalement, nous allons voir quelques éléments nécessaires au développement d’applications graphiques en utilisant le module Tkinter.

Table des matières

1. Qu'est-ce que Tkinter?
2. Introduction à Tkinter
3. Widgets Tkinter
4. Exemples de GUI
1. Qu'est-ce que Tkinter?
  • Tkinter est un module Python intégré utilisé pour créer des applications simples à interface graphique
  • C’est le module le plus fréquemment utilisé pour créer des applications ayant des interfaces graphiques.
  • Il n’y a pas de soucier de l’installation du module Tkinter car par défaut il est livré avec Python.
  • Tkinter fait référence à (Tool kit interface), il s’agit d’une boîte à outils d’interface graphique pour Python.
  • N.B: Je vais utiliser la version 3.9 de Python . Donc, veuillez mettre à jour Python si vous voulez utiliser la version ci-dessous.
2. Introduction à Tkinter

Pour procéder à exploiter tkinter, on peut passer par les étapes suivantes :

Etapes ;

  1. Importer tkinter,
  2. Initialiser le manager de fenetre par la méthode tkinter.Tk(), et l’affecter à une variable window. Cette méthode va créer une fenêtre vide avec les boutons : agrandir, minimiser et fermer.
  3. Renomer le titre de la fenetre par exemple window.title(Exemple01)
  4. Utiliser un Label pour inserer un texte dans la fenêtre window ; text= ‘Bonjour… ‘,
  5. Appeler la méthode pack() sur le widget Label pour l’afficher dans des dimensions par défaut.
  6. Utiliser la méthode mainloop() pour afficher la fenêtre window.
    • Exemple; créer une fenêtre 

import tkinter
window
=tkinter.Tk()
window.title(« MyGUI »)
label=tkinter.Label(window,text=« Bonjour…! »).pack()
window.mainloop()

Exemple: Fenêtre bonjour

import tkinter
mywindow
=tkinter.Tk()
mywindow.title(« MyGUI »)
#utiliser Frame pour diviser mywindow
top_frame=tkinter.Frame(mywindow).pack()
bottom_frame=tkinter.Frame(mywindow).pack()
bt1=tkinter.Button(top_frame, text=‘buton 1’,fg=‘green’).pack()#fg: to color contents
label=tkinter.Label(mywindow,text=« Bonjour…………….! »).pack()
label2=tkinter.Label(mywindow,text=« Hello word!!!!!!!!!!!!!!!!!!! »).pack()

bt2=tkinter.Button(bottom_frame, text=« button 2 », fg=« red »).pack(side=« left »)
bt3=tkinter.Button(bottom_frame, text=‘Buton 3’, fg=‘orange’).pack()
mywindow.mainloop()

Exemple: buttons + labels
3. Widgets Tkinter
  • Dans la librairie Tkinter, il y a plusieurs widgets qui peuvent être utilisés pour construire des interfaces graphiques, à titre d’exemples : Button, Label, Entry, Canvas, Checkbutton…
  • Un widget : en anglais windows gadget. Les widgets sont les objets graphiques que l’on peut insérer dans une interface.

Les principaux sont :

  • Label: pour insérer un texte,
  • Button:pour commander une action,
  • Entry: permet l’entrée d’une donnée/texte,
  • Canvas: pour insérer des dessins,

Chaque widget a des propriétés et des méthodes qui permettent de préciser son apparence et les interactions avec l’utilisateur.

  • Quelques propriétés (options) de l’objet Canvas

    • height : Hauteur Y du canvas
    • width  : Largeur X du canvas
    • bg  : Couleur de fond du canvas
    • bd  : Taille en pixels du bord du canvas (2 par défaut)

    Quelques méthodes du widget Canvas

    • .create_line(): pour créer une ligne
    • .create_arc(): pour créer un arc de cercle
    • .create_bitmap(): pour ajouter Image bitmap
    • .create_image(): pour ajouter Image graphique
    • .create_oval(): pour créer un cercle ou une ellipse
    • .create_polygon(): pour créer un polygone
    • .create_rectangle(): pour créer un rectangle
    • .create_text(): ajouter du Texte
    • .create_window(): créer une fenêtre rectangulaire
4. Exemples de GUI

Exemple d’utilisation du Canvas pour dessiner des formes

Créer ligne, cercle, rectangle
Dessiner cible
Dessiner une cible