Tutoriel Tkinter - Entrée

  1. Exemple d’entrée Tkinter
  2. Texte par défaut de l’entrée Tkinter

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

Tkinter Entry_Basic.py
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).

comments powered by Disqus