HOWTO · Tkinter

如何獲取 Tkinter 標籤文字

本教程介紹瞭如何更改 Tkinter 標籤文字。

本頁內容

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

cget 方法來獲取 Tkinter 標籤的文字

Tkinter Label 標籤控制元件沒有特定的 get 方法來獲取標籤中的文字。它具有 cget 方法來返回指定選項的值。

labelObj.cget("text")

它返回標籤物件-labelObj 的 text 屬性/選項。

cget 方法的完整工作示例

import tkinter as tk


class Test:
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("200x80")
        self.label = tk.Label(self.root, text="Text to be read")

        self.button = tk.Button(
            self.root, text="Read Label Text", command=self.readLabelText
        )
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def readLabelText(self):
        print(self.label.cget("text"))


app = Test()

讀取標籤物件字典的 text 鍵的值以獲取 Tkinter Label 標籤文字

標籤物件也是字典,因此我們可以通過訪問 "text" 鍵來獲取其文字。

完整的工作示例

import tkinter as tk


class Test:
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("200x80")
        self.label = tk.Label(self.root, text="Text to be read")

        self.button = tk.Button(
            self.root, text="Read Label Text", command=self.readLabelText
        )
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def readLabelText(self):
        print(self.label["text"])


app = Test()

使用 StringVar 獲取 Tkinter 標籤文字

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

將 StringVar 變數關聯到 Tkinter 控制元件後,我們可以通過讀取 StringVar 變數的值來獲取標籤的文字。

import tkinter as tk


class Test:
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("200x80")
        self.text = tk.StringVar()
        self.text.set("Text to be read")
        self.label = tk.Label(self.root, textvariable=self.text)

        self.button = tk.Button(
            self.root, text="Read Label Text", command=self.readLabelText
        )
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def readLabelText(self):
        print(self.text.get())


app = Test()

StringVar 變數的 get() 方法返回其值,該值在此示例中與標籤文字相關聯。