from tkinter import * from tkinter.messagebox import * from threading import Timer def timerDone(): window.bell() showinfo('Alert','Alert') window = Tk() mainTimer = Timer(3, timerDone) mainTimer.start() window.mainloop()
Не работает. Да, я гуглил, читал, проблема в том, что tkinter внезапно не может в multithreading.
Помогите решить проблему красиво.
After - не предлагать. Это какой-то ужасный костыль. К тому же нужна возможность гибко управлять таймеров - выключить его в любой момент и т.д.
P.S. Еще крайне удивило отсутствие в Питоне интервального таймера - чтобы функция удобно вызывалась через определенный промежуток времени, типа setinterval в JavaScript. Не хочется изобретать велосипед - есть что-нибудь готовое на эту тему?