Я хочу иметь программу, которая при нажатии на кнопку должна открывать другое окно верхнего уровня и удалять старое окно. Если я использую self.master.destroy (), он, по-видимому, удаляет старое окно в дополнение к немедленному удалению нового окна. Как я могу уничтожить старое окно, сохранив новое окно без изменений?
import tkinter as tk
class DirSearch:
def __init__(self,master):
self.master = master
self.goButton = tk.Button(master,text="Go!", command=self.openDir)
self.goButton.grid(row=2)
def openDir(self):
self.newWindow = tk.Toplevel(self.master)
self.app = DirView(self.newWindow)
#self.master.destroy() This would destroy the new window as well as the old one
class DirView:
def __init__(self, master):
self.master = master
self.frame = tk.Frame(self.master)
self.label = tk.Label(master, text = "foo")
self.label.grid()
self.button = tk.Button(master, text="bar")
self.button.grid()
if __name__ == '__main__':
root = tk.Tk()
app = DirSearch(root)
root.mainloop()