1. Créer des Boutons dans Tkinter
Pourquoi en avons-nous besoin ?
Imagine que tu crées une calculatrice. Qui l'utiliserait s'il était impossible d'entrer des données et de cliquer sur le bouton égal ? Ou peut-être que tu développes un formulaire pour entrer des données. Eh bien, ici, les champs de saisie et les boutons sont également très utiles.
Les boutons et champs de saisie permettent à l'utilisateur d'influencer directement le programme et son comportement. C'est comme une baguette magique qui transforme une fenêtre passive en un outil actif.
À quoi ressemble un bouton dans Tkinter ?
La bibliothèque Tkinter propose un widget Button
pour créer des boutons. Ce widget est assez flexible et permet de personnaliser le texte du bouton, sa couleur, ainsi que d'assigner une action qui sera exécutée lors d'un clic.
Voici comment ça fonctionne :
import tkinter as tk
# Créer la fenêtre principale
root = tk.Tk()
root.title("Mon application")
# Créer un bouton et l'ajouter à la fenêtre
button = tk.Button(root, text="Clique-moi !", command=lambda: print("Bouton cliqué !"))
button.pack()
# Lancer la boucle principale
root.mainloop()
Note le paramètre command
: il permet de lier une action spécifique au bouton. Dans cet exemple, lorsque le bouton est cliqué, le message "Bouton cliqué !" sera affiché dans la console.
Rendons le bouton plus stylé
Évidemment, tu veux que tes boutons soient non seulement fonctionnels, mais aussi attrayants. Ajoutons un peu de créativité :
button = tk.Button(root, text="Clique-moi !", command=lambda: print("Bouton cliqué !"), bg="blue", fg="white", font=("Helvetica", 16))
button.pack(pady=10)
bg
etfg
— gèrent respectivement la couleur de fond et la couleur du texte.font
— permet de choisir la police et sa taille.pady
— marges verticales pour donner de l'air au bouton.
2. Champs de Saisie avec Tkinter
Passons maintenant aux champs de saisie de texte. Ce sont de petites fenêtres de texte où ton utilisateur peut entrer ses souhaits (et pas seulement).
Une saisie de texte simple
Créer un champ de saisie est super simple grâce au widget Entry
:
entry = tk.Entry(root)
entry.pack()
Mais quel est l'intérêt d'un champ si tu ne peux pas récupérer les données ? Apprenons à le faire !
def get_input():
user_input = entry.get()
print(f"L'utilisateur a entré : {user_input}")
entry = tk.Entry(root)
entry.pack()
button = tk.Button(root, text="Obtenir l'entrée", command=get_input)
button.pack()
Génial, maintenant on a un bouton qui affiche ce qui a été écrit dans le champ.
Stylisons le champ de saisie
Comme pour les boutons, les champs de saisie peuvent aussi être personnalisés :
entry = tk.Entry(root, font=("Arial", 14), fg="black", bg="lightyellow")
entry.pack(padx=5, pady=5)
Ici, on a défini la police, la couleur du texte et celle de l'arrière-plan. Les paramètres padx
et pady
ajoutent des marges horizontales et verticales respectivement.
3. Application Pratique
Mélangeons tout et créons une application où l'utilisateur peut entrer des données et cliquer sur un bouton pour traiter les informations. On va créer une petite calculatrice qui additionne les nombres entrés.
import tkinter as tk
def calculate():
try:
# Récupérer les valeurs des champs
number1 = float(entry1.get())
number2 = float(entry2.get())
# Calculer la somme
result = number1 + number2
# Mettre à jour le texte du résultat
result_label.config(text=f"Résultat : {result}")
except ValueError:
result_label.config(text="Entrez des nombres valides !")
# Créer la fenêtre principale
root = tk.Tk()
root.title("Calculatrice Simple")
# Champs de saisie pour les nombres
entry1 = tk.Entry(root, width=10)
entry1.pack(pady=5)
entry2 = tk.Entry(root, width=10)
entry2.pack(pady=5)
# Bouton pour calculer
calculate_button = tk.Button(root, text="Additionner", command=calculate)
calculate_button.pack(pady=10)
# Label pour afficher le résultat
result_label = tk.Label(root, text="Résultat : ")
result_label.pack()
# Lancer la boucle principale
root.mainloop()
Et voilà, on a créé une petite application de calculatrice qui permet à l'utilisateur d'entrer des données et de voir le résultat.
Débogage avec les widgets
En travaillant avec des boutons et des champs de saisie, tu peux rencontrer quelques erreurs courantes. Par exemple, il arrive souvent que le gestionnaire d'événements d'un bouton ne soit pas lancé. La cause : le paramètre command
manque ou il y a une erreur dans la syntaxe de la fonction lambda.
Les erreurs liées à une saisie incorrecte des données sont également fréquentes. N'oublie donc pas de vérifier et gérer les saisies, comme on l'a fait dans notre calculatrice, pour éviter tout problème.
C'est tout pour aujourd'hui ! Maintenant tu sais comment ajouter des boutons et des champs de saisie à ton application pour rendre l'interaction avec l'utilisateur plus interactive et amusante. La prochaine étape : gérer les événements des clics sur les boutons, mais ça, c'est pour la prochaine conférence !
GO TO FULL VERSION