Cómo obtener el texto de la etiqueta Tkinter

  1. cget Método para obtener el text Valor de la opción de Tkinter Label
  2. Leer el valor de la clave text del diccionario de objetos de la etiqueta para obtener el texto de la Label de Tkinter
  3. Usa StringVar para obtener el texto de Label de Tkinter

En este tutorial, introduciremos cómo obtener el texto Tkinter Label haciendo clic en un botón.

cget Método para obtener el text Valor de la opción de Tkinter Label

El widget de Tkinter Label no tiene un método específico de get el texto de la etiqueta. Tiene un método cget para devolver el valor de la opción especificada.

labelObj.cget("text")

Devuelve la propiedad/opción text del objeto Label - labelObj.

Ejemplo de trabajo completo del 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()

Leer el valor de la clave text del diccionario de objetos de la etiqueta para obtener el texto de la Label de Tkinter

Un objeto de etiqueta es también un diccionario, así que podríamos obtener su texto accediendo a la tecla text.

Ejemplo de trabajo 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 para obtener el texto de Label de Tkinter

StringVar es un tipo de constructor de Tkinter para crear la variable de cadena de Tkinter.

Después de asociar la variable StringVar a los widgets de Tkinter, podríamos obtener el texto de la etiqueta leyendo el valor de la variable 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()

El método get() de la variable StringVar devuelve su valor, que está asociado con el texto de la etiqueta en este ejemplo.

Artículo relacionado - Tkinter Label

  • Cómo ocultar, recuperar y eliminar los widgets de Tkinter