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() 方法返回其值,该值在此示例中与标签文本相关联。