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