Ottieni il testo dell'etichetta Tkinter
-
Metodo
cgetper ottenere il valore dell’opzionetextdi TkinterLabel -
Leggere il valore della chiave
textdel dizionario degli oggetti dell’etichetta per ottenere il testoLabeldi Tkinter -
Usa
StringVarper ottenere il testoLabelTkinter
In questo tutorial, introdurremo come ottenere il testo Tkinter Label facendo clic su un pulsante.
Metodo cget per ottenere il valore dell’opzione text di Tkinter Label
Il widget Label di Tkinter non ha un metodo get specifico per ottenere il testo nell’etichetta. Ha un metodo cget per restituire il valore dell’opzione specificata.
labelObj.cget("text")
Restituisce la proprietà / opzione text dell’oggetto Label - labelObj.
Completo esempio di lavoro del metodo 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()
Leggere il valore della chiave text del dizionario degli oggetti dell’etichetta per ottenere il testo Label di Tkinter
Un oggetto etichetta è anche un dizionario Python, quindi potremmo ottenere il suo testo accedendo al tasto "text".
Esempio di lavoro completo
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()
Usa StringVar per ottenere il testo Label Tkinter
StringVar è un tipo di costruttore Tkinter per creare la variabile stringa Tkinter.
Dopo aver associato la variabile StringVar ai widget Tkinter, potremmo ottenere il testo dell’etichetta leggendo il valore della variabile 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()
Il metodo get() della variabile StringVar restituisce il suo valore, che è associato al testo dell’etichetta in questo esempio.
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 Facebook