Comment modifier le texte de l'étiquette Tkinter
-
Utilisez
StringVarpour changer le texte de l’étiquette Tkinter -
Propriété Label
textpour changer le texte du label
Dans ce tutoriel, nous allons introduire la façon de changer le texte de l’étiquette de Tkinter en cliquant sur un bouton.
Utilisez StringVar pour changer le texte de l’étiquette Tkinter
StringVar est un type de constructeur Tkinter pour créer la variable chaîne Tkinter.
Après avoir associé la variable StringVar aux widgets Tkinter, Tkinter mettra à jour ce widget particulier lorsque la variable sera modifiée.
import tkinter as tk
class Test:
def __init__(self):
self.root = tk.Tk()
self.text = tk.StringVar()
self.text.set("Test")
self.label = tk.Label(self.root, textvariable=self.text)
self.button = tk.Button(
self.root, text="Click to change text below", command=self.changeText
)
self.button.pack()
self.label.pack()
self.root.mainloop()
def changeText(self):
self.text.set("Text updated")
app = Test()

self.text = tk.StringVar()
self.text.set("Test")
Le constructeur de Tkinter ne pourrait pas initier la variable chaîne de caractères avec la chaîne comme self.text = tk.StringVar().
Nous devrions appeler la méthode set pour définir la valeur de StringVar, comme self.text.set("Test").
self.label = tk.Label(self.root, textvariable=self.text)
Elle associe la variable StringVar self.text au widget self.label en fixant la variable textvariable à self.text. La boîte à outils Tk commence à suivre les changements de self.text et mettra à jour le texte self.label si self.text est modifié.
Propriété Label text pour changer le texte du label
Une autre solution pour changer le texte de l’étiquette de Tkinter est de changer la propriété text de l’étiquette.
import tkinter as tk
class Test:
def __init__(self):
self.root = tk.Tk()
self.label = tk.Label(self.root, text="Text")
self.button = tk.Button(
self.root, text="Click to change text below", command=self.changeText
)
self.button.pack()
self.label.pack()
self.root.mainloop()
def changeText(self):
self.label["text"] = "Text updated"
app = Test()
Le texte de l’étiquette peut être initialisé avec text="Text" et peut aussi être mis à jour en assignant la nouvelle valeur à la clé text de l’objet étiquette.
Nous pourrions aussi changer la propriété text par la méthode tk.Label.configure() comme montré ci-dessous. Cela fonctionne de la même manière avec les codes ci-dessus.
import tkinter as tk
class Test:
def __init__(self):
self.root = tk.Tk()
self.label = tk.Label(self.root, text="Text")
self.button = tk.Button(
self.root, text="Click to change text below", command=self.changeText
)
self.button.pack()
self.label.pack()
self.root.mainloop()
def changeText(self):
self.label.configure(text="Text Updated")
app = Test()
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