Comment mettre à jour le texte du bouton Tkinter

  1. Utilisez StringVar pour modifier le texte du bouton Tkinter
  2. Propriété text de Tkinter Button pour modifier le texte du bouton

Dans ce tutoriel, nous allons introduire la façon de modifier le texte du bouton Tkinter. Il est similaire à la méthode changer le texte du label Tkinter,

  • Méthode StringVar
  • Bouton text Méthode de propriété

Utilisez StringVar pour modifier le texte du bouton Tkinter

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

Après avoir associé la variable StringVar au widget Button de Tkinter, Tkinter mettra à jour le texte de ce Button lorsque la variable sera modifiée.

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("250x100")
        self.text = tk.StringVar()
        self.text.set("Original Text")
        self.buttonA = tk.Button(self.root, textvariable=self.text)

        self.buttonB = tk.Button(self.root,
                                text="Click to change text",
                                command=self.changeText)
        self.buttonA.pack(side=tk.LEFT)
        self.buttonB.pack(side=tk.RIGHT)
        self.root.mainloop()

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

app=Test()

Texte du bouton de Tkinter

self.text = tk.StringVar()
self.text.set("Original Text")

Le constructeur de Tkinter ne pouvait pas initier la variable chaîne avec la chaîne comme self.text = tk.StringVar("Text").

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

self.buttonA = tk.Button(self.root, textvariable=self.text)

La variable StringVar self.text est assignée à l’option textvariable de self.buttonA. Tkinter mettra à jour le texte de self.buttonA automatiquement si self.text est modifié.

Propriété text de Tkinter Button pour modifier le texte du bouton

Une autre solution pour modifier le texte du bouton Tkinter est de changer la propriété text du bouton.

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("250x100")

        self.buttonA = tk.Button(self.root,
                                 text="Original Text")

        self.buttonB = tk.Button(self.root,
                                text="Click to change text",
                                command=self.changeText)
        self.buttonA.pack(side=tk.LEFT)
        self.buttonB.pack(side=tk.RIGHT)
        self.root.mainloop()

    def changeText(self):
        self.buttonA['text'] = "Updated Text"        

app=Test()

Le texte est une clé de l’objet Button dont le texte peut être initié avec text="Original Text" et peut également être mis à jour en attribuant la nouvelle valeur à text.

La méthode tk.Button.configure() pourrait aussi changer la propriété text pour modifier le texte de Tkinter Button, comme indiqué ci-dessous.

import tkinter as tk

class Test():
    def __init__(self):
        self.root = tk.Tk()
        self.root.geometry("250x100")

        self.buttonA = tk.Button(self.root,
                                 text="Original Text")

        self.buttonB = tk.Button(self.root,
                                text="Click to change text",
                                command=self.changeText)
        self.buttonA.pack(side=tk.LEFT)
        self.buttonB.pack(side=tk.RIGHT)
        self.root.mainloop()

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

app=Test()

Article connexe - Tkinter Button

  • Comment créer une nouvelle fenêtre en cliquant sur un bouton dans Tkinter
  • Comment fermer une fenêtre Tkinter avec un bouton