Como obter o texto da etiqueta do Tkinter
-
Método para obter o valor da opção
text
do TkinterLabel
- Leia o valor do texto chave do dicionário de objetos de etiqueta para obter o texto da etiqueta do Tkinter
-
Utilize
StringVar
para obter o texto do TkinterLabel
Neste tutorial, vamos apresentar como obter o texto Tkinter Label
clicando em um botão.
Método para obter o valor da opção text
do Tkinter Label
O Tkinter Label
widget não tem um método específico get
para obter o texto no rótulo. Ele tem um método cget
para retornar o valor da opção especificada.
labelObj.cget("text")
Ele retorna a propriedade/opção text
do objeto Label
- labelObj
.
Exemplo completo de funcionamento do método 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()
Leia o valor do texto chave do dicionário de objetos de etiqueta para obter o texto da etiqueta do Tkinter
Um objeto de etiqueta também é um dicionário, para que pudéssemos obter seu texto acessando a chave "text"
.
Exemplo de trabalho 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()
Utilize StringVar
para obter o texto do Tkinter Label
StringVar
é um tipo de construtor de Tkinter para criar a variável string Tkinter.
Depois de associarmos a variável StringVar
aos widgets Tkinter, poderíamos obter o texto da etiqueta lendo o valor da variável 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()
O método da variável StringVar
retorna seu valor, que está associado ao texto da etiqueta neste exemplo.