如何更新 Tkinter 按钮文本

Jinku Hu 2024年2月15日
  1. 使用 StringVar 更改 Tkinter 按钮文本
  2. Tkinter Button 按钮的 text 属性改变按钮的文本
如何更新 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()

Tkinter 设置按钮文字

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()
作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 创始人。Jinku 在机器人和汽车行业工作了8多年。他在自动测试、远程测试及从耐久性测试中创建报告时磨练了自己的编程技能。他拥有电气/电子工程背景,但他也扩展了自己的兴趣到嵌入式电子、嵌入式编程以及前端和后端编程。

LinkedIn Facebook

相关文章 - Tkinter Button