Simple Tkinter problem

jim-on-linux inq1ltd at verizon.net
Tue Nov 7 20:20:18 EST 2006


On Tuesday 07 November 2006 10:38, jim-on-linux 
wrote:
 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?

jim-on-linux

http://.www.inqvista.com

>
>
>
>
>
> On Tuesday 07 November 2006 09:35,
>
> gmarkowsky at gmail.com 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



More information about the Python-list mailing list