Ottieni il testo dell'etichetta Tkinter

  1. Metodo cget per ottenere il valore dell’opzione text di Tkinter Label
  2. Leggere il valore della chiave text del dizionario degli oggetti dell’etichetta per ottenere il testo Label di Tkinter
  3. Usa StringVar per ottenere il testo Label Tkinter

In questo tutorial, introdurremo come ottenere il testo Tkinter Label facendo clic su un pulsante.

Metodo cget per ottenere il valore dell’opzione text di Tkinter Label

Il widget Label di Tkinter non ha un metodo get specifico per ottenere il testo nell’etichetta. Ha un metodo cget per restituire il valore dell’opzione specificata.

labelObj.cget("text")

Restituisce la proprietà / opzione text dell’oggetto Label - labelObj.

Completo esempio di lavoro del metodo 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()

Leggere il valore della chiave text del dizionario degli oggetti dell’etichetta per ottenere il testo Label di Tkinter

Un oggetto etichetta è anche un dizionario Python, quindi potremmo ottenere il suo testo accedendo al tasto "text".

Esempio di lavoro 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 per ottenere il testo Label Tkinter

StringVar è un tipo di costruttore Tkinter per creare la variabile stringa Tkinter.

Dopo aver associato la variabile StringVar ai widget Tkinter, potremmo ottenere il testo dell’etichetta leggendo il valore della variabile 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()

Il metodo get() della variabile StringVar restituisce il suo valore, che è associato al testo dell’etichetta in questo esempio.

Articolo correlato - Tkinter Label

  • Come modificare il testo dell'etichetta Tkinter
  • Imposta il bordo del widget etichetta Tkinter