如何更新 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