Some alternative to GLOBAL? Close Toplevel from Toplevel buttom is so easy Close Toplevel from Root windows, not sure if use GLOBAL is the best import tkinter as tk class EntryForm(tk.Toplevel): def __init__(self, master): super().__init__(master) self.geometry('200x200') tk.Label(master=self, text="Say Hello").pack() tk.Button(self, text="Close this", command=self.destroy).pack() def on_top_window_close(self): self.destroy() root= tk.Tk() root.geometry('200x200') def open(): global new_win new_win = EntryForm(root) def close(): new_win.on_top_window_close() tk.Button(root, text= "Enter Data", command=lambda: open()).pack(pady=10) tk.Button(root, text= "close Data", command=lambda: close()).pack(pady=10) root.mainloop() Continue reading...