У меня есть ориентированная на объект программа tkinter setup. я инициализирует переменную для хранения Toplevel()
в качествеПредотвращение открытия нескольких верхних уровней?
self.toplevel = None
Затем, когда я создаю фактическое Toplevel
окно я просто присвоить его переменной:
self.toplevel = Toplevel()
Дело в том, ... когда Toplevel()
окно закрыто, значение все еще остается в переменной self.toplevel
. Как сбросить переменную обратно None после закрытия окна, так что я могу выполнить проверку:
if (self.toplevel == None):
self.toplevel = Toplevel()
Или есть какие-либо другие методы, чтобы предотвратить многократное Toplevel
Окна от открытия?
Это предотвратить бы ВСЕ интерпретаторы(), не так ли? Но мне нужно отфильтровать, чтобы одновременно открывать разные уникальные функции Toplevels(), но не те же. –
Я внес некоторые изменения. Он работает сейчас? –
Да! Мне пришлось немного изменить эту идею. я просто добавил функцию в классе: Защиту toplevel_close (Я): self.toplevel_incredients.destroy() self.toplevel_incredients = None Затем протокол к self.toplevel при его создании: self.toplevel.protocol («WM_DELETE_WINDOW», self.toplevel_close) –