Я думаю, что мне не хватает чего-то простого в Tkinter.
Как правильно создать несколько окон с одним и тем же скрытым корневым окном? Я могу открыть одно окно, но как только оно будет закрыто, последующие будут отображаться пустыми без каких-либо виджетов. Я также заметил, что если я оставляю корневое окно видимым, оно исчезает, когда я закрываю первое «настоящее» окно.
Я бы опубликовал код, но я не смог выяснить, что вызывает поведение, и мой настоящий код довольно сложен и должен запускаться внутри другой (даже более сложной) программы.
Я пытался использовать .quit()
или .destroy()
для закрытия окон, и помещал циклы mainloop()
s и wait_window()
в разные места, но все либо по-прежнему имеет ошибку, либо что-то еще хуже идет не так. Я думаю, что я ищу, это просто другая точка зрения.
Моя проблема похожа на ту, что здесь , но я не смог получить ничего нового из ответа.
Есть идеи? Я знаю, что это немного расплывчато. Спасибо
РЕШИТЬ:
Это, вероятно, никому не поможет, но я понял проблему. У меня есть несколько классов окон, каждое из которых получено из Tkinter.Toplevel. В моем базовом Window
классе я создал close()
функцию, которая вызывает self.destroy()
. Затем в его подклассы я добавил пользовательский код для хранения их геометрии и т. Д. И, наконец, назвал Window.close(self)
. Что-то в этом не работает, потому что если я просто использую self.quit()
вместо вызова суперкласса close()
, все будет хорошо.