如何获取 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