如何更改 Tkinter 標籤文字

  1. 使用 StringVar 改變 Tkinter 的標籤文
  2. 通過標籤 text 屬性更改標籤文字

在本教程中,我們將介紹如何通過單擊按鈕來更改 Tkinter 標籤文字。

使用 StringVar 改變 Tkinter 的標籤文

StringVar 是建立 Tkinter 字串變數的 Tkinter 建構函式的一種型別。

StringVar 變數與 Tkinter 控制元件關聯後,修改 StringVar 變數後,Tkinter 將自動更新此控制元件。

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.text = tk.StringVar()
        self.text.set("Test")
        self.label = tk.Label(self.root, textvariable=self.text)

        self.button = tk.Button(self.root,
                                text="Click to change text below",
                                command=self.changeText)
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def changeText(self):
        self.text.set("Text updated")        

app=Test()

Tkinter set Label text

self.text = tk.StringVar()
self.text.set("Test")

Tkinter 建構函式無法使用類似於字串初始化的方法來初始化字串 StringVar 變數。

我們應該呼叫 set 方法來設定 StringVar 值,例如 self.text.set("Test")

self.label = tk.Label(self.root, textvariable=self.text)

通過將 textvariable 設定為 self.text,它將 StringVar 變數 self.text 與標籤控制元件 self.label 關聯。Tk 工具箱然後開始跟蹤的更改,如果 self.text 被修改的話,它將更新 self.label 的文字。

通過標籤 text 屬性更改標籤文字

更改 Tkinter 標籤文字的另一種解決方案是更改標籤的 text 屬性。

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.label = tk.Label(self.root, text="Text")

        self.button = tk.Button(self.root,
                                text="Click to change text below",
                                command=self.changeText)
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def changeText(self):
        self.label['text'] = "Text updated"        

app=Test()

標籤的文字可以用 text="Text"來初始化,通過將新值分配給標籤物件的 text 鍵來其更新標籤文字。

我們還可以通過 tk.Label.configure() 方法來更改 text 屬性,如下面一段程式碼所示,它與上面的程式碼本質上是相同的。

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.label = tk.Label(self.root, text="Text")

        self.button = tk.Button(self.root,
                                text="Click to change text below",
                                command=self.changeText)
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def changeText(self):
        self.label.configure(text="Text Updated")        

app=Test()

相關文章 - Tkinter Label

  • 如何更改 Tkinter 標籤字型大小
  • 如何隱藏、恢復和刪除 Tkinter 控制元件
  • 如何獲取 Tkinter 標籤文字
  • 如何設定 Tkinter 標籤控制元件的邊框
  • comments powered by Disqus