Я получил Tkinter GUI с обратным вызовом обновления.
def update(self):
do_calculations()
update_GUI()
self.root.after(self.delay, self.update)
self.root = tk.Tk()
self.update()
self.root.mainloop()
Мне нужно выполнить некоторые вычисления, и на основе этих расчетов мне нужно обновить мой GUI. do_calculations () выполняется некоторое время, поэтому я запускаю его в отдельном потоке, поэтому мой GUI не замерзнет. Проблема в том, что я могу обновить только свой GUI из основного потока, поэтому мне нужно дождаться завершения do_calculations (), которое замораживает мой GUI. Если я не жду окончания my_calculations (), иногда update_ GUI () вызывается с неверными данными. Есть ли обходной путь для таких ситуаций?