Цикл событий Tkinter (запущенный mainloop()
) выполняется в одном потоке. Он вращается, реагирует на события (например, щелчки мыши), перерисовывает виджеты и так далее. При нажатии кнопки, чтобы начать загрузку, управление передается вашей функции download0()
. Пока управление не вернется в цикл обработки событий, никакие виджеты не будут перерисовываться, если вы не скажете им.
Итак, пока идет загрузка, вам нужно указать виджету перерисовать себя:
listbox.insert(END, percent)
listbox.update_idletasks()