Napisałem skrypt w języku Python, który wykonuje pewne zadanie do wygenerowania, a następnie ciągle zmienia tekst zapisany jako zmienna łańcuchowa. To działa i mogę wydrukować ciąg znaków za każdym razem, gdy zostanie zmieniony.Zaktualizuj etykietę Tkintera ze zmiennej
Mogę uzyskać etykietę, aby wyświetlać ciąg po raz pierwszy, ale nigdy nie aktualizuje.
Oto mój kod:
from tkinter import *
outputText = 'Ready'
counter = int(0)
root = Tk()
root.maxsize(400, 400)
var = StringVar()
l = Label(root, textvariable=var, anchor=NW, justify=LEFT, wraplength=398)
l.pack()
var.set(outputText)
while True:
counter = counter + 1
outputText = result
outputText = result
outputText = result
if counter == 5:
break
root.mainloop()
Etykieta pokaże Ready
, ale nie aktualizuje to zmienić do strun, jak są one generowane później.
Po dość szybkim szukaniu i szukaniu odpowiedzi na tej stronie, pomyślałem, że rozwiązaniem może być użycie update_idletasks
. Próbowałem to wstawiać po każdej zmianie zmiennej, ale to nie pomogło.
Możliwy duplikat [Dokonanie aktualizacji widżetu etykiety python/tkinter?] (Http://stackoverflow.com/questions/1918005/making-python-tkinter-label-widget-update) – Lafexlos