如何獲取 Tkinter 標籤文字

Jinku Hu 2023年1月30日 2020年3月25日
  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() 方法返回其值,該值在此示例中與標籤文字相關聯。

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 Label