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

Jinku Hu 30 janvier 2023
  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
Comment définir le texte du widget d'entrée de Tkinter avec un bouton

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.

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

Article connexe - Tkinter Entry