Если вы хотите, чтобы что-то произошло после задержки, переместите это «что-то» в функцию и запланируйте, чтобы оно вызывалось с помощью after
. Это позволит циклу событий продолжать обрабатывать события (включая события, которые вызывают обновление дисплея).
Например:
def reset(self):
self.SN_field.dellete("1.0", ,"end")
self.HwVer_field.delete("1.0", "end")
self.button2.config(bg=color)
Чтобы позвонить, используйте after
:
if condition1 == condition2:
orig_color = self.button2.cget("background")
self.button2.config(bg='springgreen2')
self.return2default(orig_color)
self.after(3000, self.reset)
Когда вы вызываете after
только с временным аргументом, это приводит к тому, что вся ваша программа переходит в спящий режим, что означает, что она не может обновлять дисплей, пока он спит.