HOWTO · Tkinter

Comment obtenir le texte du label Tkinter

Ce tutoriel montre comment obtenir le texte de l'étiquette Tkinter.

Sur cette page

Dans ce tutoriel, nous allons présenter comment obtenir le texte Tkinter Label en cliquant sur un bouton.

Méthode pour obtenir la valeur de l’option text de l’étiquette Tkinter

Le widget Label de Tkinter n’a pas de méthode spécifique pour faire apparaître le texte dans l’étiquette. Il possède une méthode get pour renvoyer la valeur de l’option spécifiée.

labelObj.cget("text")

Le diagramme ci-dessous retrace ce flux déclenché par le bouton, étape par étape.

Diagramme de flux étiqueté du processus déclenché par un bouton dans l’exemple cget() : le Label affiche le texte « Hello, Tkinter! », l’utilisateur clique sur le bouton « Get Label Text », la commande du bouton invoque le rappel show_label_text(), le rappel lit le texte avec label.cget(“text”), et la valeur est imprimée dans la console. Diagramme pédagogique dessiné, pas une capture d’écran.

Diagramme : du clic sur le bouton au texte du Label imprimé, en passant par le rappel et cget(“text”).

Il retourne la propriété/option text de l’objet Label - labelObj.

Exemple de travail complet de la méthode 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()

Lire la valeur de la clé text du dictionnaire des objets d’étiquette pour obtenir le texte Label de Tkinter

Un objet d’étiquetage est aussi un dictionnaire, nous pourrions donc obtenir son texte en accédant à la touche "text".

Exemple de travail complet

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()

Utilisez StringVar pour obtenir le texte de l’étiquette Tkinter

StringVar est un type de constructeur Tkinter pour créer la variable de chaîne Tkinter.

Après avoir associé la variable StringVar aux widgets Tkinter, nous pourrions obtenir le texte de l’étiquette en lisant la valeur 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()

La méthode get() de la variable StringVar retourne sa valeur, qui est associée au texte de l’étiquette dans cet exemple.