Comment définir le texte du widget d'entrée de Tkinter avec un bouton

  1. Tkinter delete et insert Méthode pour définir le contenu de Entry
  2. Méthode Tkinter StringVar pour définir le contenu du widget Tkinter Entry

Nous avons deux méthodes pour définir ou modifier le texte du widget Entry de Tkinter en cliquant sur un bouton,

  1. Méthode Tkinter delete et insert
  2. Méthode Tkinter StringVar

Tkinter delete et insert Méthode pour définir le contenu de Entry

Le widget Entry de Tkinter n’a pas de méthode set dédiée pour définir le contenu de l’entrée. Il doit d’abord supprimer le contenu existant et ensuite insérer le nouveau contenu si nous devons le modifier complètement.

Codes de travail complets pour définir le texte d’une Entry avec les méthodes delete et insert

import tkinter as tk
root = tk.Tk()
root.geometry("400x50")

def setTextInput(text):
    textExample.delete(0,"end")
    textExample.insert(0, text)

textExample = tk.Entry(root)
textExample.pack()

btnSet = tk.Button(root, height=1, width=10, text="Set", 
                    command=lambda:setTextInput("new content"))
btnSet.pack()

root.mainloop()

Tkinter Set Content of Tkinter Entry_delete and insert method

textExample.delete(0,"end")

La méthode d’effacement de l’entrée supprime la plage de caractères spécifiée dans l’entrée.

0 est le premier caractère et end est le dernier caractère du contenu du widget Entry. Par conséquent, la méthode delete(0, "end") supprime tout le contenu de la zone Entry.

textExample.insert(0, text)

La méthode insert insère le texte à la position spécifiée. Dans le code ci-dessus, elle insère le text au début.

Méthode Tkinter StringVar pour définir le contenu du widget Tkinter Entry

Si le contenu du widget Tkinter Entry a été associé à un objet StringVar, il pourrait automatiquement changer le contenu du widget Tkinter Entry à chaque fois que la valeur de StringVar est mise à jour.

Codes de travail complets pour définir le texte dans Entry avec l’objet StringVar

import tkinter as tk
root = tk.Tk()
root.geometry("400x50")

def setTextInput(text):
    textEntry.set(text)

textEntry = tk.StringVar()

textExample = tk.Entry(root,
                      textvariable = textEntry)
textExample.pack()

btnSet = tk.Button(root,
                   height=1,
                   width=10,
                   text="Set",
                   command=lambda:setTextInput("new content"))
btnSet.pack()

root.mainloop()
textEntry = tk.StringVar()

textExample = tk.Entry(root,
                      textvariable = textEntry)

TextEntry est un objet StringVar associé au contenu du texte, ou en d’autres termes, l’option Textvariable du widget Entry.

textEntry.set(text)

Si textEntry est mis à jour pour avoir une nouvelle valeur text, alors les widgets dont textvariable lui est associé seront automatiquement mis à jour.

Article connexe - Tkinter Entry

  • Comment définir le texte par défaut du widget d'entrée de Tkinter