如何獲取 Tkinter 標籤文字

Jinku Hu 2023年1月30日
  1. cget 方法來獲取 Tkinter 標籤的文字
  2. 讀取標籤物件字典的 text 鍵的值以獲取 Tkinter Label 標籤文字
  3. 使用 StringVar 獲取 Tkinter 標籤文字
如何獲取 Tkinter 標籤文字

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

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

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

labelObj.cget("text")

它返回標籤物件-labelObjtext 屬性/選項。

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() 方法返回其值,該值在此示例中與標籤文字相關聯。

作者: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

DelftStack.com 創辦人。Jinku 在機器人和汽車行業工作了8多年。他在自動測試、遠端測試及從耐久性測試中創建報告時磨練了自己的程式設計技能。他擁有電氣/ 電子工程背景,但他也擴展了自己的興趣到嵌入式電子、嵌入式程式設計以及前端和後端程式設計。

LinkedIn Facebook

相關文章 - Tkinter Label