Ce tutoriel fournit un guide complet pour créer et personnaliser des boutons dans Tkinter, la bibliothèque GUI de facto de Python. Nous aborderons les options de base des boutons et montrerons comment lier les clics de boutons à des fonctions personnalisées, ouvrant ainsi la voie à des applications interactives.
Table des matières
- Options par défaut du bouton Tkinter
- Rappels de commande du bouton Tkinter
- Techniques avancées de boutons (facultatif)
Options par défaut du bouton Tkinter
Créer un bouton de base dans Tkinter est simple. Le widget Button
prend plusieurs options pour personnaliser son apparence et son comportement.
import tkinter as tk
root = tk.Tk()
button = tk.Button(root, text="Cliquez-moi !")
button.pack()
root.mainloop()
Ceci crée un bouton simple. Décomposons le code :
import tkinter as tk
: Importe la bibliothèque Tkinter.root = tk.Tk()
: Crée la fenêtre principale de l’application.button = tk.Button(root, text="Cliquez-moi !")
: Crée le bouton.root
spécifie la fenêtre parente, ettext
définit le label du bouton.button.pack()
: Un gestionnaire de géométrie qui place le bouton dans la fenêtre.pack()
est simple, mais pour des mises en page complexes, considérezgrid()
ouplace()
.root.mainloop()
: Lance la boucle d’événements Tkinter, gardant la fenêtre réactive.
Au-delà de l’option text
, de nombreuses autres sont disponibles :
width
: Largeur du bouton en caractères (la valeur par défaut est calculée automatiquement).height
: Hauteur du bouton en lignes (la valeur par défaut est 1).font
: Définit la police (par exemple,font=("Arial", 14)
).bg
(oubackground
) : Couleur d’arrière-plan (par exemple,bg="lightblue"
).fg
(ouforeground
) : Couleur du texte (par exemple,fg="red"
).activebackground
: Couleur d’arrière-plan lorsque la souris survole.activeforeground
: Couleur du texte lorsque la souris survole.state
: État du bouton :NORMAL
(par défaut),DISABLED
ouACTIVE
.relief
: Le style de bordure 3D (par exemple,relief="groove"
,relief="raised"
,relief="sunken"
).image
: Vous permet d’utiliser une image au lieu du texte.
import tkinter as tk
from PIL import Image, ImageTk # Pour la prise en charge des images
root = tk.Tk()
# Charger une image (remplacez 'button_image.png' par votre image)
try:
image = Image.open("button_image.png")
photo = ImageTk.PhotoImage(image)
button = tk.Button(root, image=photo, width=100, height=50, relief="raised")
button.image = photo # Garder une référence pour éviter la collecte des ordures.
except FileNotFoundError:
button = tk.Button(root, text="Échec du chargement de l'image !", width=20, height=2,
font=("Helvetica", 16), bg="red", fg="white")
button.pack()
root.mainloop()
Rappels de commande du bouton Tkinter
La véritable puissance des boutons provient de leur association à des fonctions. L’option command
accepte une fonction à exécuter lorsque le bouton est cliqué.
import tkinter as tk
def ma_fonction():
print("Bouton cliqué !")
root = tk.Tk()
button = tk.Button(root, text="Cliquez-moi !", command=ma_fonction)
button.pack()
root.mainloop()
Ici, ma_fonction
est appelée lorsque le bouton est pressé. Remplacez ma_fonction
par n’importe quelle fonction pour intégrer les clics de bouton à la logique de votre application.
Techniques avancées de boutons (facultatif)
Pour des scénarios plus avancés, considérez ces techniques :
- Utilisation de fonctions lambda pour des rappels concis : Passez des arguments à vos fonctions à l’aide d’expressions lambda. Par exemple :
button = tk.Button(root, text="Cliquez-moi !", command=lambda: ma_fonction("bonjour"))
- Styles de boutons personnalisés : Explorez les widgets ttk (
ttk.Button
) pour des boutons à thème et plus d’options de style. - Images de boutons : Utilisez des images pour une conception de bouton plus attrayante.
Ce tutoriel fournit une base solide pour l’utilisation des boutons dans Tkinter. Expérimentez les différentes options et techniques pour créer des interfaces graphiques interactives et attrayantes.