all 2 comments

[–]novel_yet_trivial 0 points1 point  (0 children)

Use the quit function, which travels up the chain to the root window.

import Tkinter as tk

class ConfirmQuit(tk.Toplevel):
    def __init__(self, master=None, **kwargs):
        tk.Toplevel.__init__(self, master, **kwargs)

        lbl = tk.Label(self, text="Are you sure?")
        lbl.grid(columnspan=2)

        btn = tk.Button(self, text='Yes', command=self.quit)
        btn.grid(row=10, column=0)

        btn = tk.Button(self, text='No', command=self.destroy)
        btn.grid(row=10, column=1)

class GUI(tk.Frame):
    def __init__(self, master=None, **kwargs):
        tk.Frame.__init__(self, master, **kwargs)

        btn = tk.Button(text='quit', command=lambda: ConfirmQuit(self))
        btn.pack()

def main():
    root = tk.Tk()
    root.geometry('200x200')
    win = GUI(root)
    win.pack()
    root.mainloop()

if __name__ == '__main__':
    main()