Como obter o texto da etiqueta do Tkinter

Jinku Hu 30 janeiro 2023
  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
Como obter o texto da etiqueta do Tkinter

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.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

Artigo relacionado - Tkinter Label