Hoe de Tkinter-labeltekst te wijzigen

  1. Gebruik StringVar om de Tkinter-labeltekst te wijzigen
  2. Labeleigenschap text om de labeltekst te wijzigen

In deze tutorial laten we u zien hoe u de Tkinter-labeltekst kunt wijzigen door op een knop te klikken.

Een super simpele manier om je webt...
Een super simpele manier om je webteksten mobiel vriendelijk te maken

Gebruik StringVar om de Tkinter-labeltekst te wijzigen

StringVar is een type Tkinter-constructor om de Tkinter-tekenreeksvariabele te maken.

Nadat we de StringVar variabele aan de Tkinter-widgets hebben gekoppeld , werkt Tkinter deze specifieke widget bij wanneer de variabele wordt gewijzigd.

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

De Tkinter-constructor kon de tekenreeksvariabele niet starten met de tekenreeks als self.text = tk.StringVar().

We moeten set methode aanroepen om de StringVar waarde in te stellen, zoals self.text.set("Test").

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

Het verbindt de StringVar variabele self.text met de labelwidget self.label door textvariable in te stellen op zijn self.text . De Tk-toolkit begint de wijzigingen bij te houden self.text en zal de tekst bijwerken self.label als deze self.text is gewijzigd.

Labeleigenschap text om de labeltekst te wijzigen

Een andere oplossing om de Tkinter-labeltekst te wijzigen, is de text eigenschap van het label te wijzigen.

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

De tekst van het label kan worden gestart met text="Text" en kan ook worden bijgewerkt door de nieuwe waarde toe te wijzen aan de text sleutel van het labelobject.

We kunnen de text eigenschap ook wijzigen volgens de tk.Label.configure() onderstaande methode. Het werkt hetzelfde met de bovenstaande codes.

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

Gerelateerde Artikelen - Tkinter Label

  • Hoe de lettertypegrootte van het Tkinter-label te wijzigen
  • Hoe Tkinter-widgets te verbergen, te herstellen en te verwijderen