So aktualisieren Sie den Text der Tkinter-Schaltfläche

Jinku Hu 30 Januar 2023
  1. Verwenden Sie StringVar, um den Text der Tkinter-Schaltfläche zu ändern
  2. Tkinter Button text Eigenschaft zum Ändern des Button-Textes
So aktualisieren Sie den Text der Tkinter-Schaltfläche

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

Verwandter Artikel - Tkinter Button