如何更新 Tkinter 按钮文本
Jinku Hu
2024年2月15日
Tkinter
Tkinter Button
在本教程中,我们将介绍如何更改 Tkinter 按钮文本。它类似于更改 Tkinter 标签文本的方法,
StringVar方法- 按钮
text属性方法
使用 StringVar 更改 Tkinter 按钮文本
StringVar 是创建 Tkinter 字符串变量的 Tkinter 构造函数的一种。
在将 StringVar 变量关联到 Tkinter Button 按钮控件之后,当变量被修改时,Tkinter 将更新此 Button 按钮的文本。
import tkinter as tk
class Test:
def __init__(self):
self.root = tk.Tk()
self.root.geometry("250x100")
self.text = tk.StringVar()
self.text.set("Original Text")
self.buttonA = tk.Button(self.root, textvariable=self.text)
self.buttonB = tk.Button(
self.root, text="Click to change text", command=self.changeText
)
self.buttonA.pack(side=tk.LEFT)
self.buttonB.pack(side=tk.RIGHT)
self.root.mainloop()
def changeText(self):
self.text.set("Updated Text")
app = Test()

self.text = tk.StringVar()
self.text.set("Original Text")
Tkinter 构造函数无法使用诸如 self.text = tk.StringVar() 之类的字符串来初始化字符串变量。
我们应该调用 set 方法来设置 StringVar 值,就像 self.text.set("Original Text") 一样。
self.buttonA = tk.Button(self.root, textvariable=self.text)
将 StringVar 变量 self.text 分配给 self.buttonA 的选项 textvariable。如果修改了 self.text,Tkinter 将自动更新 self.buttonA 的文本。
Tkinter Button 按钮的 text 属性改变按钮的文本
更改 Tkinter 按钮文本的另一种方法是更改按钮的 text 属性。
import tkinter as tk
class Test:
def __init__(self):
self.root = tk.Tk()
self.root.geometry("250x100")
self.buttonA = tk.Button(self.root, text="Original Text")
self.buttonB = tk.Button(
self.root, text="Click to change text", command=self.changeText
)
self.buttonA.pack(side=tk.LEFT)
self.buttonB.pack(side=tk.RIGHT)
self.root.mainloop()
def changeText(self):
self.buttonA["text"] = "Updated Text"
app = Test()
text 是 Tkinter 按钮对象的一个键,其文本可以通过 text="Original Text"来初始化,也可以通过将新值分配给 text 来进行更新。
tk.Button.configure() 方法还可以更改 text 属性,以更改 Tkinter Button 的文本,如下所示。
import tkinter as tk
class Test:
def __init__(self):
self.root = tk.Tk()
self.root.geometry("250x100")
self.buttonA = tk.Button(self.root, text="Original Text")
self.buttonB = tk.Button(
self.root, text="Click to change text", command=self.changeText
)
self.buttonA.pack(side=tk.LEFT)
self.buttonB.pack(side=tk.RIGHT)
self.root.mainloop()
def changeText(self):
self.buttonA.configure(text="Updated Text")
app = Test()
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Jinku Hu
