Проблема следующая. Пользуюсь модулем messagebox, который, помимо окна диалога, создает пустое окно root. Чтобы спрятать это окно, на форумах советуют использовать root.withdraw(). Однако мой скрипт создает много разнообразных окон tkinter, и после того, как я что-нибудь нажал в диалоге messagebox, tkinter не может создать новое окно (терминал просто висит) - видимо, ждет, когда я закрою пустое окно root (оно, напомню, спрятано, т.е. мне остается только Ctrl+C). root_destroy() в конце таких процедур как ниже не помогает. Если же withdraw убрать, tkinter начинает плодить сущности: 1, 2 - некрасиво. Как можно решить этот вопрос?
from tkinter import *
from tkinter import filedialog
from tkinter import messagebox
# Диалог "Вы уверены?..."
def ok_cancel(message):
root=Tk()
# Иначе будет показываться лишнее пустое окно
#root.withdraw()
if messagebox.askokcancel('Подтвердите:',message):
return True;
else:
return False
#root.destroy()