如何获取 Tkinter 标签文本
Jinku Hu
2023年1月30日
2020年3月25日
在本教程中,我们将介绍如何通过单击按钮来获取 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()
方法返回其值,该值在此示例中与标签文本相关联。
Author: Jinku Hu
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