Greg, Run the following code to see how pack_forget() or grid_forget() works, it makes previous widgets disappear but not go away. If you call grid() or pack() again after using grid_forget() the widget returns.
root = Tk() class Ktest: def __init__(self): self.Ftest1() def Ftest1(self): try: self.test2.grid_forget() except AttributeError : pass self.test1 = Button(root, text='Push #1 button', bg = 'yellow', width = 25, command = self.Ftest2, height = 25) self.test1.grid(row=0, column=0) def Ftest2(self): self.test1.grid_forget() self.test2 = Button(root, text='Push #2 button', bg = 'green', width = 15, command = self.Ftest1, height = 10) self.test2.grid(row=0, column=0) if __name__== '__main__' : Ktest() mainloop() Maybe someone else has an idea about not defining a variable. My question is how does a budket of wires and screws know its a bucket of wires and screws unless someone tells it that it's a bucket of wires and screws? On Tuesday 07 November 2006 09:35, [EMAIL PROTECTED] wrote: > Hi all, > > I'm trying to write a GUI that will put up > multiple widgets in succession. My problem is > that each widget also contains the previous > widgets when they pop up. How do I reinitialize > the widget each time so that it doesn't contain > earlier ones? Actually, another question I have > is, is there a way to set python so that it > will assume any undefined variable is 0 or ''? > That is, I have several statements like "If k > > 0 then so and so" and I would like it to assume > k=0 unless I tell it otherwise. I've just been > defining k=0 at the start of the program but it > seems there should be a better way. > > Greg -- http://mail.python.org/mailman/listinfo/python-list