Comment modifier le texte de l'étiquette Tkinter

  1. Utilisez StringVar pour changer le texte de l’étiquette Tkinter
  2. Propriété Label text pour changer le texte du label

Dans ce tutoriel, nous allons introduire la façon de changer le texte de l’étiquette de Tkinter en cliquant sur un bouton.

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

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

Après avoir associé la variable StringVar aux widgets Tkinter, Tkinter mettra à jour ce widget particulier lorsque la variable sera modifiée.

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.text = tk.StringVar()
        self.text.set("Test")
        self.label = tk.Label(self.root, textvariable=self.text)

        self.button = tk.Button(self.root,
                                text="Click to change text below",
                                command=self.changeText)
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def changeText(self):
        self.text.set("Text updated")        

app=Test()

Tkinter set Label text

self.text = tk.StringVar()
self.text.set("Test")

Le constructeur de Tkinter ne pourrait pas initier la variable chaîne de caractères avec la chaîne comme self.text = tk.StringVar().

Nous devrions appeler la méthode set pour définir la valeur de StringVar, comme self.text.set(Test).

self.label = tk.Label(self.root, textvariable=self.text)

Elle associe la variable StringVar self.text au widget self.label en fixant la variable textvariable à self.text. La boîte à outils Tk commence à suivre les changements de self.text et mettra à jour le texte self.label si self.text est modifié.

Propriété Label text pour changer le texte du label

Une autre solution pour changer le texte de l’étiquette de Tkinter est de changer la propriété text de l’étiquette.

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.label = tk.Label(self.root, text="Text")

        self.button = tk.Button(self.root,
                                text="Click to change text below",
                                command=self.changeText)
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def changeText(self):
        self.label['text'] = "Text updated"        

app=Test()

Le texte de l’étiquette peut être initialisé avec text="Text" et peut aussi être mis à jour en assignant la nouvelle valeur à la clé text de l’objet étiquette.

Nous pourrions aussi changer la propriété text par la méthode tk.Label.configure() comme montré ci-dessous. Cela fonctionne de la même manière avec les codes ci-dessus.

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.label = tk.Label(self.root, text="Text")

        self.button = tk.Button(self.root,
                                text="Click to change text below",
                                command=self.changeText)
        self.button.pack()
        self.label.pack()
        self.root.mainloop()

    def changeText(self):
        self.label.configure(text="Text Updated")        

app=Test()

Article connexe - Tkinter Label

  • Comment définir la frontière du gadget de l'étiquette Tkinter
  • Comment modifier la taille de la police de l'étiquette Tkinter
  • comments powered by Disqus