Aggiorna il testo del pulsante Tkinter

Jinku Hu 15 febbraio 2024
  1. Usa StringVar per modificare il testo del pulsante Tkinter
  2. Tkinter Button text Proprietà per modificare il testo del pulsante
Aggiorna il testo del pulsante Tkinter

In questo tutorial, introdurremo come modificare il testo Tkinter button. È simile ai metodi per cambiare il testo dell’etichetta di Tkinter,

  • Metodo StringVar
  • Metodo proprietà text del pulsante

Usa StringVar per modificare il testo del pulsante Tkinter

StringVar è un tipo di costruttore Tkinter per creare la variabile stringa Tkinter.

Dopo aver associato la variabile StringVar al widget Button di Tkinter, Tkinter aggiornerà il testo di questo Button quando la variabile viene modificata.

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 imposta il testo del pulsante

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

Il costruttore di Tkinter non ha potuto avviare la variabile stringa con la stringa come self.text = tk.StringVar("Text").

Dovremmo chiamare il metodo set per impostare il valore StringVar, come self.text.set("Original Text").

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

La variabile StringVar self.text è assegnata all’opzione textvariable di self.buttonA. Tkinter aggiornerà automaticamente il testo di self.buttonA se self.text viene modificato.

Tkinter Button text Proprietà per modificare il testo del pulsante

Un’altra soluzione per cambiare il testo del pulsante Tkinter è cambiare la proprietà text del pulsante.

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 è una chiave dell’oggetto Button il cui testo potrebbe essere iniziato con text="Original Text" e potrebbe anche essere aggiornato assegnando il nuovo valore a text.

Il metodo tk.Button.configure() potrebbe anche cambiare la proprietà text per cambiare il testo di Tkinter Button, come mostrato di seguito.

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

Articolo correlato - Tkinter Button