Tutoriel Tkinter - Entrée

Jinku Hu 30 janvier 2023
  1. Exemple d’entrée Tkinter
  2. Texte par défaut de l’entrée Tkinter
Tutoriel Tkinter - Entrée

Le widget Entry de Tkinter permet à l’utilisateur d’entrer une seule ligne de texte qui n’a qu’un seul type de police. Si plus de lignes sont nécessaires, vous devriez utiliser le widget Text de Tkinter. Le widget Entry peut aussi être utilisé pour afficher le texte d’une seule ligne.

Exemple d’entrée Tkinter

import tkinter as tk
from tkinter import ttk


def callbackFunc():
    resultString.set("{} - {}".format(landString.get(), cityString.get()))


app = tk.Tk()
app.geometry("200x100")

labelLand = tk.Label(app, text="Country")
labelLand.grid(column=0, row=0, sticky=tk.W)
labelCity = tk.Label(app, text="City")
labelCity.grid(column=0, row=1, sticky=tk.W)

landString = tk.StringVar()
cityString = tk.StringVar()
entryLand = tk.Entry(app, width=20, textvariable=landString)
entryCity = tk.Entry(app, width=20, textvariable=cityString)

entryLand.grid(column=1, row=0, padx=10)
entryCity.grid(column=1, row=1, padx=10)


resultButton = tk.Button(app, text="Get Result", command=callbackFunc)

resultButton.grid(column=0, row=2, pady=10, sticky=tk.W)

resultString = tk.StringVar()
resultLabel = tk.Label(app, textvariable=resultString)
resultLabel.grid(column=1, row=2, padx=10, sticky=tk.W)

app.mainloop()

Cet exemple de code crée une interface graphique dans laquelle l’utilisateur peut entrer les noms de pays et de ville, puis il affiche les informations entrées après avoir cliqué sur le bouton Get Result.

Tkinter Tutorial_Entry Basic

entryLand = tk.Entry(app, width=20, textvariable=landString)

Il crée une instance de widget Tkinter Entry dont la largeur est de 20 unités de caractères. Elle ne peut afficher que 20 caractères dans la zone de saisie, par conséquent, vous devez utiliser les touches fléchées pour afficher le reste de la ligne si la ligne de texte a plus de 20 caractères.

Le texte du widget de saisie est affecté à une variable de chaîne Tkinter landString. Vous pouvez obtenir le texte avec la méthode landString.get(), et définir le texte avec la méthode landString.set(). Le texte dans la boîte de saisie se met à jour automatiquement si la méthode set() est utilisée.

Note
En plus de la méthode get() de StringVar, vous pouvez aussi utiliser la méthode get() de l’objet widget Entry pour récupérer la chaîne dans la boîte Entry.

Texte par défaut de l’entrée Tkinter

Nous avons deux façons de définir le texte par défaut de l’entrée,

Méthode pour définir Tkinter Entry Texte par défaut

Comme indiqué dans l’exemple ci-dessus, vous pourriez utiliser la méthode set() de StringVar pour définir le texte par défaut de Tkinter Entry.

Par exemple,

landString.set("Netherlands")

Le texte par défaut sera Netherlands.

insert() Méthode pour définir le texte par défaut de Tkinter Entry

La méthode insert(index, string) insère le texte string à la position index donnée. Et si index est END, elle ajoute le texte au widget Entry.

entryLand.insert(tk.END, "Netherlands")

Elle fixe le texte par défaut à Netherlands.

Note
Si index est plus grand que la longueur de la chaîne existante dans le widget, il est égal à insert(END, string).
Auteur: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook