Ottieni il testo dell'etichetta Tkinter

Jinku Hu 26 aprile 2021
  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
Ottieni il testo dell'etichetta 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.

Autore: 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

Articolo correlato - Tkinter Label