Внутри вашей функции update
вам нужно снова добавить text.after(10, update)
, так как это будет гарантировать, что каждый раз, когда происходит обновление, вскоре после этого будет появляться другое обновление.
import tkinter as tk
import tkinter.font as tkFont
def update():
print("test loop")
text.delete("1.0", tk.END)
text.insert(tk.END, "a")
text.pack()
text.after(10, update)
root = tk.Tk()
text = tk.Text(root, height=150, width=350)
fontPerso = tkFont.Font(family="Lucida Console", size=2)
text.configure(font=fontPerso)
text.after(10, update)
tk.mainloop()
Несколько вещей обратите внимание, если это просто для отображения переменной и чтобы она постоянно отображала актуальное значение для переменной, используйте tk.Label
и tk.stringVar
, как показано здесь .
Я также не уверен, что вам нужно pack()
ваш виджет после каждого обновления, чтобы его можно было удалить.