Как изменить текст этикетки Tkinter
-
Используйте
Stringvar
для изменения текста этикетки Tkinter -
Метка
text
свойство для изменения текста метки

В этом уроке мы расскажем, как изменить текст этикетки Tkinter, нажав на кнопку.
Используйте Stringvar
для изменения текста этикетки Tkinter
StringVar
- один из типов конструктора Tkinter для создания строковой переменной Tkinter.
После того, как мы свяжем переменную StringVar
с виджетами Tkinter, Tkinter обновит этот виджет, когда переменная будет изменена.
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")
Конструктор Tkinter не смог инициировать строковую переменную со строкой типа self.text = tk.StringVar()
.
Надо вызвать метод set
для установки значения StringVar
, как self.text.set("Test")
.
self.label = tk.Label(self.root, textvariable=self.text)
Он связывает переменную StringVar
self.text
с виджетами меток self.label
, устанавливая textvariable
в качестве self.text
. Инструментарий Tk начинает отслеживать изменения self.text
и будет обновлять текст self.label
, если self.text
будет изменён.
Метка text
свойство для изменения текста метки
Другим решением для изменения текста этикетки Tkinter является изменение свойства text
этикетки.
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()
Текст метки может быть инициирован с помощью свойства text="Text"
, а также может быть обновлен путем присвоения нового значения ключу text
объекта метки.
Мы также можем изменить свойство text
методом tk.Label.configure()
, как показано ниже. Он работает так же, как и вышеприведенные коды.
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Сопутствующая статья - Tkinter Label
- Как изменить размер шрифта этикетки Tkinter
- Как скрыть, восстановить и удалить Tkinter виджеты
- Как получить текст на этикетке Tkinter
- Как установить границу виджета метки Tkinter