Python GUI Programming

Maîtriser le Widget Entry de Tkinter : Guide Complet

Spread the love

Le widget Entry de Tkinter est un élément crucial pour la construction d’applications interactives, permettant aux utilisateurs de saisir du texte sur une seule ligne. Ce tutoriel fournit un guide complet sur l’utilisation du widget Entry, couvrant l’utilisation de base, la définition de texte par défaut et la gestion des entrées utilisateur.

Table des matières

Création d’un widget Entry de base

Commençons par un exemple simple pour créer et afficher un widget Entry :


import tkinter as tk

root = tk.Tk()
root.title("Exemple d'entrée Tkinter")

entry = tk.Entry(root)
entry.pack(pady=20)

root.mainloop()

Ce code importe tkinter, crée la fenêtre principale de l’application, ajoute un widget Entry, puis lance la boucle d’événements principale. La méthode pack() positionne le widget Entry avec un remplissage vertical de 20 pixels.

Définition du texte par défaut et effets d’espace réservé

Fournir un texte par défaut dans le widget Entry améliore l’expérience utilisateur. Bien que l’insertion simple de texte à l’aide de insert(0, "texte") fonctionne, une approche plus conviviale consiste à créer un espace réservé qui disparaît lorsque l’utilisateur clique dans le champ. Cela nécessite une liaison d’événements, que nous allons démontrer ci-dessous :


import tkinter as tk

def on_entry_click(event):
    if entry.get() == "Entrez du texte ici":
        entry.delete(0, tk.END)
        entry.insert(0, "")
        entry.config(fg = 'black')

def on_focusout(event):
    if entry.get() == "":
        entry.insert(0, "Entrez du texte ici")
        entry.config(fg = 'grey')


root = tk.Tk()
root.title("Entrée Tkinter avec espace réservé")

entry = tk.Entry(root)
entry.insert(0, "Entrez du texte ici")
entry.config(fg = 'grey')
entry.bind("", on_entry_click)
entry.bind("", on_focusout)
entry.pack(pady=20)

root.mainloop()

Cet exemple amélioré utilise deux fonctions, on_entry_click et on_focusout, liées respectivement aux événements <FocusIn> et <FocusOut>. Ces fonctions gèrent le texte de l’espace réservé, le supprimant lors de la mise au point et le restaurant lorsque le champ perd le focus.

Récupération et traitement des entrées utilisateur

Pour récupérer le texte saisi par l’utilisateur, utilisez la méthode get(). Voici comment l’intégrer à notre exemple :


import tkinter as tk

# ... (code de l'espace réservé de l'exemple précédent) ...

def get_input():
    user_input = entry.get()
    print(f"Utilisateur a entré : {user_input}")

button = tk.Button(root, text="Obtenir l'entrée", command=get_input)
button.pack(pady=10)

root.mainloop()

Ceci ajoute un bouton qui, lorsqu’il est cliqué, appelle la fonction get_input(). Cette fonction récupère le texte du widget Entry à l’aide de entry.get() et l’affiche sur la console. Cela montre une façon basique de gérer les entrées utilisateur ; une gestion des erreurs et une validation des données plus sophistiquées seraient nécessaires dans une application de production.

Ce tutoriel fournit une base solide pour travailler avec le widget Entry de Tkinter. N’oubliez pas d’expérimenter et d’explorer davantage pour créer des applications plus complexes et interactives.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *