如何更新 Tkinter 按钮文本

Jinku Hu 2023年1月30日 2020年3月25日
  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()
Author: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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 Button