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
.
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.
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
.
index
est plus grand que la longueur de la chaîne existante dans le widget, il est égal à insert(END, string)
.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