class MainWindow(tk.Tk):
"""Главное окно приложения."""
def __init__(self):
"""Конструктор вызывается при создании окна"""
super().__init__()
self.title('Моё окно')
self.protocol('WM_DELETE_WINDOW', self.__done) # прописываем реакцию на закрытие окна
... # тут создаёшь элементы управления и проводишь прочую инициализацию
# в том числе создаёшь и запоминаешь вспомогательные окна
def __done(self):
"""Вызовется при попытке закрытия окна"""
... # тут делаешь что тебе нужно при закрытии
# например, закрываешь вспомогательные окна
self.destroy() # если не сделать этот вызов, окно на самом деле не закроется - иногда это нужно
if __name__ == '__main__':
root = MainWindow()
root.mainloop()