So aktualisieren Sie den Text der Tkinter-Schaltfläche

  1. Verwenden Sie StringVar, um den Text der Tkinter-Schaltfläche zu ändern
  2. Tkinter Button text Eigenschaft zum Ändern des Button-Textes

In diesem Tutorial stellen wir Ihnen vor, wie Sie den Tkinter-Button-Text ändern können. Es ist den Methoden zum Ändern des Tkinter-Button-Textes ähnlich,

  • StringVar Methode
  • Button text Eigenschaft Methode

Verwenden Sie StringVar, um den Text der Tkinter-Schaltfläche zu ändern

StringVar ist ein Typ des Tkinter-Konstruktors zur Erstellung der Tkinter-Zeichenkettenvariablen.

Nachdem wir die Variable StringVar dem Tkinter Button Widget zugeordnet haben, wird Tkinter den Text dieses Button aktualisieren, wenn die Variable geändert wird.

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

Tkinter setzen Button-Text

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

Der Tkinter-Konstruktor konnte die Zeichenkettenvariable nicht mit einer Zeichenkette wie self.text = tk.StringVar("Text") einleiten.

Wir sollten die Methode set aufrufen, um den Wert StringVar zu setzen, wie self.text.set("Original Text").

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

Die StringVar-Variable self.text wird der Option textvariable von self.buttonA zugewiesen. Tkinter wird den Text von self.buttonA automatisch aktualisieren, wenn self.text geändert wird.

Tkinter Button text Eigenschaft zum Ändern des Button-Textes

Eine andere Lösung, den Text der Tkinter-Schaltfläche zu ändern, besteht darin, die Eigenschaft text der Schaltfläche zu ändern.

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

text ist ein Schlüssel des Button-Objektes, dessen Text mit text="Original Text" eingeleitet und auch durch Zuweisung des neuen Wertes an text aktualisiert werden könnte.

Die Methode tk.Button.configure() könnte auch die Eigenschaft text ändern, um den Text von Tkinter Button zu ändern, wie unten gezeigt.

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

Verwandter Artikel - Tkinter Button

  • Wie man ein Tkinter-Fenster mit einer Schaltfläche schließt
  • Wie man den Status der Tkinter-Taste ändert