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