Toplevel в Tkinter: запретить открытие двух окон
скажем, у меня есть простой код, вроде этого:
from Tkinter import *
root = Tk()
app = Toplevel(root)
app.mainloop()
это открывает два окна: и
1 ответов
на withdraw() метод удаляет окно с экрана.
The iconify() метод минимизирует окно или превращает его в значок.
The deiconify() метод перерисует окно и/или активирует его.
если вы выберите withdraw(), убедитесь, что вы рассмотрели новый способ выхода из программы перед тестированием.
например,
from Tkinter import * # tkinter in Python 3
root = Tk()
root.withdraw()
top = Toplevel(root)
top.protocol("WM_DELETE_WINDOW", root.destroy)
but = Button(top, text='deiconify')
but['command'] = root.deiconify
but.pack()
root.mainloop()
на protocol() метод может использоваться для регистрации функции это будет называться, когда
Топлевел окна кнопка закрытия нажата. В этом случае мы можем использовать destroy() для выхода.