Cómo obtener el texto de la etiqueta Tkinter

Jinku Hu 30 enero 2023
  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
Cómo obtener el texto de la etiqueta 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.

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

Artículo relacionado - Tkinter Label