Dans ce guide, nous allons nous concentrer sur les boutons tkinter.
💡 Tkinter est une bibliothèque standard de Python utilisée pour créer des interfaces graphiques utilisateur (GUI). Elle offre une variété de widgets, y compris des boutons, des étiquettes, des entrées de texte, etc.
Tout d’abord, pour utiliser tkinter, vous devez importer le module tkinter. Ensuite, vous pouvez créer une fenêtre en instanciant la classe Tk
:
import tkinter as tk
# Création de la fenêtre principale
fenetre = tk.Tk()
fenetre.title("Ma première application tkinter")
Pour créer un bouton tkinter, utilisez la classe Button
. Vous devez spécifier le parent du bouton (dans ce cas, la fenêtre principale), ainsi que le texte à afficher sur le bouton :
# Création d'un bouton
bouton = tk.Button(fenetre, text="Cliquez-moi")
Une fois que vous avez créé le bouton, vous devez l’afficher à l’aide de la méthode pack
, grid
ou place
:
# Affichage du bouton à l'aide de la méthode pack
bouton.pack()
# Ou à l'aide de la méthode grid
# bouton.grid(row=0, column=0)
# Ou à l'aide de la méthode place
# bouton.place(x=50, y=50)
Pour ajouter une action à un bouton, vous pouvez spécifier une fonction à exécuter lorsque le bouton est cliqué en utilisant le paramètre command
:
# Définition de la fonction à exécuter lors du clic sur le bouton
def action():
print("Le bouton a été cliqué !")
# Ajout de l'action au bouton
bouton.config(command=action)
Vous pouvez personnaliser l’apparence du bouton en utilisant les options de configuration disponibles, telles que bg
pour la couleur d’arrière-plan, fg
pour la couleur du texte, font
pour la police de caractères, etc. :
# Personnalisation du bouton
bouton.config(bg="blue", fg="white", font=("Arial", 12))
Voici un exemple complet de création d’une fenêtre tkinter avec un bouton qui affiche un message dans la console lorsque le bouton est cliqué :
import tkinter as tk
# Fonction à exécuter lors du clic sur le bouton
def action():
print("Le bouton a été cliqué !")
# Création de la fenêtre principale
fenetre = tk.Tk()
fenetre.title("Ma première application tkinter")
# Création du bouton
bouton = tk.Button(fenetre, text="Cliquez-moi", command=action)
bouton.pack()
# Personnalisation du bouton
bouton.config(bg="blue", fg="white", font=("Arial", 12))
# Lancement de la boucle principale de la fenêtre
fenetre.mainloop()
Ce guide devrait vous aider à démarrer avec les boutons tkinter en Python. Vous pouvez l’adapter et l’étendre selon vos besoins pour créer des interfaces utilisateur plus complexes.
import tkinter as tk
# Fonctions pour les opérations de la calculatrice
def ajouter_nombre(nombre):
expression.set(expression.get() + str(nombre))
def effacer():
expression.set("")
def calculer():
try:
resultat = eval(expression.get())
expression.set(resultat)
except:
expression.set("Erreur")
# Création de la fenêtre principale
fenetre = tk.Tk()
fenetre.title("Calculatrice")
# Variable pour stocker l'expression de la calculatrice
expression = tk.StringVar()
# Zone de texte pour afficher l'expression
entree = tk.Entry(fenetre, textvariable=expression)
entree.grid(row=0, column=0, columnspan=4)
# Création des boutons pour les nombres et les opérations
for i in range(1, 10):
tk.Button(fenetre, text=str(i), command=lambda i=i: ajouter_nombre(i)).grid(row=(i-1)//3 + 1, column=(i-1)%3)
tk.Button(fenetre, text="0", command=lambda: ajouter_nombre(0)).grid(row=4, column=1)
tk.Button(fenetre, text="C", command=effacer).grid(row=4, column=0)
tk.Button(fenetre, text="=", command=calculer).grid(row=4, column=2)
tk.Button(fenetre, text="+", command=lambda: ajouter_nombre("+")).grid(row=1, column=3)
tk.Button(fenetre, text="-", command=lambda: ajouter_nombre("-")).grid(row=2, column=3)
tk.Button(fenetre, text="*", command=lambda: ajouter_nombre("*")).grid(row=3, column=3)
tk.Button(fenetre, text="/", command=lambda: ajouter_nombre("/")).grid(row=4, column=3)
# Lancement de la boucle principale de la fenêtre
fenetre.mainloop()
import tkinter as tk
# Fonction pour ajouter une tâche à la liste
def ajouter_tache():
tache = entree.get()
if tache:
liste_taches.insert(tk.END, tache)
entree.delete(0, tk.END)
# Fonction pour supprimer une tâche sélectionnée
def supprimer_tache():
selection = liste_taches.curselection()
if selection:
liste_taches.delete(selection)
# Création de la fenêtre principale
fenetre = tk.Tk()
fenetre.title("Gestionnaire de Tâches")
# Zone de texte pour saisir une nouvelle tâche
entree = tk.Entry(fenetre)
entree.pack()
# Bouton pour ajouter une nouvelle tâche
tk.Button(fenetre, text="Ajouter", command=ajouter_tache).pack()
# Liste des tâches
liste_taches = tk.Listbox(fenetre)
liste_taches.pack()
# Bouton pour supprimer une tâche sélectionnée
tk.Button(fenetre, text="Supprimer", command=supprimer_tache).pack()
# Lancement de la boucle principale de la fenêtre
fenetre.mainloop()
Ces exemples illustrent quelques façons pratiques d’utiliser les boutons tkinter pour créer des applications simples en Python. Vous pouvez les étendre et les personnaliser selon vos besoins spécifiques.
import tkinter as tk
def convertir():
try:
temperature = float(entree_temp.get())
if var_conversion.get() == 1: # Conversion de Celsius à Fahrenheit
resultat = (temperature * 9/5) + 32
label_resultat.config(text=f"{temperature} °C = {resultat} °F")
else: # Conversion de Fahrenheit à Celsius
resultat = (temperature - 32) * 5/9
label_resultat.config(text=f"{temperature} °F = {resultat} °C")
except ValueError:
label_resultat.config(text="Entrée invalide")
# Création de la fenêtre principale
fenetre = tk.Tk()
fenetre.title("Convertisseur de Température")
# Zone de saisie pour la température
entree_temp = tk.Entry(fenetre)
entree_temp.grid(row=0, column=0)
# Boutons radio pour choisir l'unité de température
var_conversion = tk.IntVar()
radio_celsius = tk.Radiobutton(fenetre, text="Celsius", variable=var_conversion, value=1)
radio_celsius.grid(row=0, column=1)
radio_fahrenheit = tk.Radiobutton(fenetre, text="Fahrenheit", variable=var_conversion, value=2)
radio_fahrenheit.grid(row=0, column=2)
# Bouton pour effectuer la conversion
bouton_convertir = tk.Button(fenetre, text="Convertir", command=convertir)
bouton_convertir.grid(row=1, column=0, columnspan=3)
# Étiquette pour afficher le résultat
label_resultat = tk.Label(fenetre, text="")
label_resultat.grid(row=2, column=0, columnspan=3)
# Lancement de la boucle principale de la fenêtre
fenetre.mainloop()
import tkinter as tk
import random
def deviner():
try:
nombre_devine = int(entree_nombre.get())
if nombre_devine == nombre_a_deviner:
label_resultat.config(text="Bravo ! Vous avez deviné le bon nombre.")
elif nombre_devine < nombre_a_deviner:
label_resultat.config(text="Le nombre à deviner est plus grand.")
else:
label_resultat.config(text="Le nombre à deviner est plus petit.")
except ValueError:
label_resultat.config(text="Entrée invalide")
def generer_nombre():
global nombre_a_deviner
nombre_a_deviner = random.randint(1, 100)
label_resultat.config(text="Un nouveau nombre a été généré.")
# Création de la fenêtre principale
fenetre = tk.Tk()
fenetre.title("Jeu de Devinette")
# Bouton pour générer un nouveau nombre
bouton_generer = tk.Button(fenetre, text="Générer un nombre", command=generer_nombre)
bouton_generer.pack()
# Zone de saisie pour deviner le nombre
entree_nombre = tk.Entry(fenetre)
entree_nombre.pack()
# Bouton pour soumettre la supposition
bouton_deviner = tk.Button(fenetre, text="Devinez", command=deviner)
bouton_deviner.pack()
# Étiquette pour afficher le résultat
label_resultat = tk.Label(fenetre, text="")
label_resultat.pack()
# Lancement de la boucle principale de la fenêtre
fenetre.mainloop()
Ces exemples illustrent deux utilisations pratiques des boutons tkinter en Python : un convertisseur de température et un jeu de devinette. Vous pouvez les exécuter pour voir comment ils fonctionnent et les adapter selon vos besoins spécifiques.
Le commentaire composé est un exercice littéraire qui consiste à analyser un texte en respectant…
Les adjectifs liés en français sont les adjectifs qui s’accordent en genre (masculin/féminin) et en…
Voici une liste étendue de mots piégeux en français, avec leurs genres et des explications…
Apprendre à distinguer le genre des noms en français peut être un véritable défi pour…
1. Informations Générales Nom complet : Charles-Louis de Secondat, Baron de La Brède et de…
Introduction L’Art de la Guerre (Dell’arte della guerra), publié en 1521, est l’un des ouvrages…
This website uses cookies.