1. Création de la fenêtre principale de l'application
Aujourd'hui, nous nous lançons dans un voyage passionnant dans le monde des interfaces graphiques avec la bibliothèque Tkinter. Après cette conférence, votre PC ne sera plus juste une boîte métallique, mais un véritable magicien capable non seulement de calculer, mais aussi d'afficher les résultats à l'utilisateur à l'écran. Alors, attachez vos ceintures et allons-y pour construire notre première fenêtre de base d'application !
Commençons par créer la fenêtre principale de notre application. Dans Tkinter, c'est assez simple. Nous allons utiliser la fonction Tk()
pour créer une instance de la fenêtre principale — c'est comme le traditionnel "Hello, World!" dans le monde des GUI.
import tkinter as tk
# Créer une instance de l'application
root = tk.Tk()
# Définir le titre de la fenêtre
root.title("Ma première application")
# Lancer la boucle principale
root.mainloop()
Qu'est-ce qui se passe ici ?
- Importer Tkinter: On commence par importer la bibliothèque
tkinter
. Pour plus de commodité, nous l'importons sous le nomtk
(parce que nous, les programmeurs, adorons les abréviations). - Créer une fenêtre: Nous créons un objet
root
, qui représente la fenêtre principale de l'application. Imaginez que cette fenêtre est son "cœur", et sans elle, notre application ne survivrait tout simplement pas. - Titre de la fenêtre: Avec la méthode
title()
, nous définissons le titre de notre fenêtre, afin que les utilisateurs sachent ce qu'ils voient. Dans ce cas, on l'a simplement appelée "Ma première application". - La boucle principale (
mainloop()
): C'est un élément essentiel qui lance le traitement des événements dans notre application. Tant que cette boucle est en cours d'exécution, notre fenêtre reste visible à l'écran, en attente d'interactions utilisateur.
Guide étape par étape
-
Créer la fenêtre principale: Chaque interface commence par la création d'une fenêtre principale.
root = tk.Tk() root.title("Fenêtre de base")
Hourra ! Vous venez d'inviter une fenêtre dans votre vie. J'espère que vous avez des rideaux !
-
Configurer les paramètres de la fenêtre: ajoutons une touche de personnalisation.
root.geometry("800x600") # Largeur x Hauteur root.iconbitmap('icon.ico') # Vous pouvez indiquer votre propre fichier d'icône
-
La boucle principale de l'application: pour que votre fenêtre ne disparaisse pas immédiatement après son apparition, lançons la boucle principale.
root.mainloop()
La boucle principale de l'application
Maintenant que nous avons une fenêtre, il est temps de parler de la boucle principale mainloop()
. Elle agit comme un DJ invisible à votre fête — tant qu'il joue des disques, tout va bien.
La boucle principale reste toujours vigilante, assurant le fonctionnement de l'application et répondant aux actions de l'utilisateur,
telles que les clics de souris ou les pressions de touches.
Sans cette boucle, votre application affichera simplement une fenêtre vide et se terminera. Alors n'oubliez pas de l'inclure à la fin de chacun de vos scripts Tkinter !
2. Introduction aux widgets
Tkinter propose une multitude de widgets, chacun avec une fonction unique. Découvrons-en certains.
Widgets principaux de Tkinter
- Fenêtre (Window): la surface principale sur laquelle résident tous les autres widgets.
- Bouton (Button): un élément interactif qui réagit à un clic.
- Champ de saisie (Entry): une zone de texte pour saisir une seule ligne de texte.
- Étiquette (Label): utilisée pour afficher du texte ou des images.
- Zone de texte (Text): pour entrer et afficher du texte sur plusieurs lignes.
Exemples d'utilisation des widgets
Voici un petit exemple qui montre comment créer une fenêtre simple avec un bouton et une étiquette :
import tkinter as tk
def say_hello():
label.config(text="Bonjour, monde !")
root = tk.Tk()
root.title("Ma première application")
label = tk.Label(root, text="Clique sur le bouton")
label.pack(pady=10)
button = tk.Button(root, text="Clique moi", command=say_hello)
button.pack(pady=5)
root.mainloop()
Après avoir exécuté ce code, vous verrez une fenêtre avec une étiquette et un bouton. Cliquez sur le bouton — et l'étiquette saluera le monde !
3. Ajouter des widgets dans la fenêtre
Maintenant que nous avons notre magnifique fenêtre (oui, c'est tout ce dont nous pouvons être fiers pour l'instant), ajoutons quelques widgets. Les widgets sont des éléments de l'interface utilisateur comme les boutons, les étiquettes, les champs de saisie, etc. Commençons par quelque chose de simple : créons un bouton et une étiquette.
# Importer la bibliothèque tkinter
import tkinter as tk
# Créer la fenêtre principale de l'application
root = tk.Tk()
root.title("Ma première application")
# Créer une étiquette et la placer dans la fenêtre
label = tk.Label(root, text="Bonjour, utilisateur ! Bienvenue dans ma première GUI.")
label.pack() # Utiliser la méthode pack pour placer le widget
# Créer un bouton et le placer dans la fenêtre
button = tk.Button(root, text="Clique moi !", command=lambda: print("Bouton cliqué !"))
button.pack()
# Lancer la boucle principale
root.mainloop()
Explications
-
Étiquette (Label): Nous avons créé une étiquette avec le texte "Bonjour, utilisateur ! Bienvenue dans ma première GUI." en utilisant
Label()
. La méthodepack()
à la fin est un moyen simple de placer le widget à l'écran. -
Bouton (Button): Le bouton a été créé avec le texte "Clique moi !". Nous avons également passé un paramètre
command
, qui indique quelle fonction appeler lors du clic sur le bouton. Ici, la commande appellelambda: print("Bouton cliqué !")
, donc lors du clic, vous verrez un message dans la console.
De cette manière, nous avons créé non seulement une fenêtre de base, mais nous l'avons aussi rendue interactive ! On peut dire que nous avons franchi le pas entre une simple fenêtre et une petite "application". Ce n'est que le début — beaucoup de choses intéressantes nous attendent encore !
J'espère que vous avez apprécié ce voyage d'introduction dans le monde de Tkinter. Rappelez-vous, GUI est votre chance de montrer au monde votre excellence en programmation sous une forme visuelle. Dans la prochaine conférence, nous explorerons comment ajouter des boutons et des champs de saisie, alors préparez-vous à des interfaces encore plus interactives !
GO TO FULL VERSION