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