Как правильно использовать .after () из tkinter, чтобы создать задержку между итерациями, не останавливая всю программу, пока все итерации не будут завершены.
Пример проблемы:
всего 10 итераций, GUI не будет обновляться до тех пор, пока 10 итераций не будут завершены
Что я хочу:
Графический интерфейс для обновления после каждой итерации, при вызове .after ().
Я пробовал код, подобный приведенному ниже, вызывая класс после каждой итерации, но он все еще зависает.
// example of a similar code i tried
import Tkinter as tk
import time
class App():
def __init__(self):
self.root = tk.Tk()
self.label = tk.Label(text="")
self.label.pack()
self.update_clock()
self.root.mainloop()
def update_clock(self):
now = time.strftime("%H:%M:%S")
self.label.configure(text=now)
self.root.after(1000, self.update_clock)
app=App()
// example of my current code
self.board = [1,1,1,1,1,1]
def updateBoard(self, seed, move):
while seed > 0:
self.board[move] += 1
seed = seed - 1
move = move + 1
// here i call the function to delay the execution for 1s
self.createDelay()
self.displayBoard()
p.s. Я пробовал time.sleep (), он тоже зависает.