So ändern Sie den Tkinter-Labeltext
-
Benutzen Sie
StringVar
, um den Tkinter-Labeltext zu ändern -
Label
text
Eigenschaft zum Ändern des Labeltextes
In diesem Tutorial wird vorgestellt, wie man den Tkinter-Labeltext durch Anklicken einer Schaltfläche ändert.
Benutzen Sie StringVar
, um den Tkinter-Labeltext zu ändern
StringVar
ist ein Typ des Tkinter-Konstruktors, um die Tkinter-String-Variable zu erstellen.
Nachdem wir die StringVar
-Variable mit den Tkinter-Widgets assoziiert haben, wird Tkinter dieses spezielle Widget aktualisieren, wenn die Variable verändert wird.
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")
Der Tkinter-Konstruktor konnte die String-Variable nicht mit dem String wie self.text = tk.StringVar()
initiieren.
Wir sollten die set
Methode aufrufen, um den StringVar
Wert zu setzen, wie self.text.set("Test")
.
self.label = tk.Label(self.root, textvariable=self.text)
Sie assoziiert die StringVar
Variable self.text
mit dem Label-Widget self.label
, indem sie die Textvariable
auf self.text
setzt. Das Tk-Toolkit beginnt, die Änderungen von self.text
zu verfolgen und wird den Text self.label
aktualisieren, wenn self.text
modifiziert wird.
Label text
Eigenschaft zum Ändern des Labeltextes
Eine andere Lösung, um den Text des Tkinter-Labels zu ändern, ist die Änderung der Text
-Eigenschaft des Labels.
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()
Der Text des Labels könnte mit text="Text"
eingeleitet werden und könnte auch aktualisiert werden, indem man den neuen Wert dem text
Schlüssel des Label-Objektes zuweist.
Wir könnten auch die text
Eigenschaft mit der tk.Label.configure()
Methode ändern, wie unten gezeigt. Es funktioniert mit den oben genannten Codes genauso.
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