dwelch91 wrote: > I'm trying unsuccessfully to do something in Tk that I though would be > easy. It is easy. > The basic idea is that my application will consist of a series of modal > dialogs, that are chained together in "wizard" fashion. Didn't have time to get into the code you posted. Just think that the solution I use might be of some help.
#!/usr/bin/env python import Tkinter class PrevNextPane(Tkinter.Frame): def __init__(self,master): self.master=master Tkinter.Frame.__init__(self,master) self.prvBtn=Tkinter.Button(self,text="Prev",command=self.do_prev).grid(row=0,column=0) self.nxtBtn=Tkinter.Button(self,text="Next",command=self.do_next).grid(row=0,column=1) def do_next(self): self.master.paneNumber+=1 self.master.displayPane() def do_prev(self): self.master.paneNumber-=1 self.master.displayPane() class Pane0(Tkinter.Frame): def __init__(self,master): Tkinter.Frame.__init__(self,master) for i in range(5): Tkinter.Entry(self).grid(row=i,column=0) class Pane1(Tkinter.Frame): def __init__(self,master): Tkinter.Frame.__init__(self,master) for i in range(5): Tkinter.Label(self,text="Label %s"% i).grid(row=i,column=0) class Pane2(Tkinter.Frame): def __init__(self,master): Tkinter.Frame.__init__(self,master) for i in range(5): Tkinter.Button(self,text="BtnPane2-%s"% i).grid(row=i,column=0) class Wizard(Tkinter.Tk): def __init__(self): Tkinter.Tk.__init__(self) self.topPane=None self.prevNextPane=PrevNextPane(self).pack(side=Tkinter.BOTTOM) self.paneNumber=0 self.displayPane() def displayPane(self): if self.topPane!=None: self.topPane.forget() try: self.topPane=globals()["Pane%s"% self.paneNumber](self) except KeyError: pass self.topPane.pack(side=Tkinter.TOP) if __name__=="__main__": w=Wizard() w.mainloop() -- http://mail.python.org/mailman/listinfo/python-list