So ändern Sie den Tkinter-Labeltext
-
Benutzen Sie
StringVar, um den Tkinter-Labeltext zu ändern -
Label
textEigenschaft 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