"""Modeless dialog.""" from Tkinter import * class App: def __init__(self, parent): self.parent = parent self.create_widgets() def create_widgets(self): self.button1 = Button( self.parent, text="Press me", command=self.do_it) self.button1.pack() def do_it(self): MyDialog(self.parent) class MyDialog: def __init__(self, parent): self.root = Toplevel(parent) self.label1 = Label( self.root, text="Are you sure you want to delete the file\n/etc/passwd?") self.label1.pack() self.button1 = Button( self.root, text="OK", command=self.ok) self.button1.pack(side=LEFT) self.button2 = Button( self.root, text="Cancel", command=self.cancel) self.button2.pack(side=RIGHT) def ok(self): print "rm /etc/passwd" self.root.destroy() def cancel(self): self.root.destroy() # Boilerplate from here on... if __name__ == '__main__': root = Tk() app = App(root) root.mainloop()