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()
для выхода.