import threading import time from tkinter import Tk from tkinter import Label TIMEOUT = 10 # Время в секундах, по истечении которго будет посылаться запрос на получение данных. # Функция, которая будет обновлять данные. def waiter(func): while True: time.sleep(TIMEOUT) func() def main(): root_widg = Tk() root_widg.title('Уведомление по неотвеченным вопросам') root_widg.geometry("{}x{}+0+0".format(root_widg.winfo_screenwidth(), root_widg.winfo_screenheight())) root_widg.attributes('-fullscreen', 1) label = Label(root_widg, justify='left', wraplength=root_widg.winfo_screenwidth() - 20) label.pack(expand='yes', fill='both') def output(): # тут делаю запрос на сервер # получаю ответ # паршу ответ # и в зависимости от пришедших параметров конфигурирую label # например label.config(text="Успех", bg='#78207E', fg='#4FEDEE', font=('times', 20, 'bold')) thread = threading.Thread(target=waiter, args=(output,)) thread.start() def escape(event): root_widg.quit() def leave(event): root_widg.attributes('-fullscreen', 0) def enter(event): root_widg.attributes('-fullscreen', 1) root_widg.bind('<Escape>', escape) root_widg.bind('<Alt-F4>', escape) root_widg.bind('<FocusIn>', enter) root_widg.bind('<FocusOut>', leave) output() root_widg.mainloop() if __name__ == '__main__': main()
Так вот когда запускаю, ни <Escape>, ни <Alt-F4> не срабатывают для главного окна.
Программа работает, но выход можно сделать только убив процесс в диспетчере.
Помогите оживить закрытие главного окна по нажатию клавиш.