Como obter o texto da etiqueta do Tkinter

  1. Método para obter o valor da opção text do Tkinter Label
  2. Leia o valor do texto chave do dicionário de objetos de etiqueta para obter o texto da etiqueta do Tkinter
  3. Utilize StringVar para obter o texto do Tkinter Label

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.

Artigo relacionado - Tkinter Label

  • Como mudar o texto da etiqueta do Tkinter
  • Como mudar o tamanho da fonte da etiqueta Tkinter