如何更新 Tkinter 按钮文本
在本教程中,我们将介绍如何更改 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()
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。