Я пытаюсь создать программу автоотключения. Я спрашиваю пользователя, хотят ли они прервать завершение работы с помощью messagebox.askyesno (tkinter), но когда я запускаю
system('shutdown /s')
, появляется окно windows, говорящее: «Вы собираетесь выйти менее чем за минута "и есть кнопка закрытия и на заднем плане, окно сообщения появляется с этим кодом
root = Tk()
root.withdraw()
ans = messagebox.askyesno("Auto Shutdown", "Your machine is about to be shutdown. Do you want to abort?")
, и когда я нажимаю кнопку" Закрыть "из всплывающего окна windows, окно сообщения теряет focus (исчезает). Он существует, но недоступен.
Я думал, что root.grab_set
сработает. Поэтому я создал поток, который постоянно проверяет, находится ли в окне сообщения фокус, и если нет, то запускает root.grab_set
в ожидании. для ввода от пользователя это дает мне эту ошибку:
RuntimeError: main thread is not in main loop
как я могу сделать так, чтобы, когда я нажимаю «закрыть» и всплывающее окно windows исчезало, окно сообщения все еще остается на экране.
Пожалуйста, предложите более чистый способ сделать это, если это возможно.
Спасибо