Simple Tkinter problem

2006-11-07 Thread gmarkowsky
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


Re: Simple Tkinter problem

2006-11-07 Thread Neil Cerutti
On 2006-11-07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
 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?

Show your code.

 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.

The best way to do it is to never use undefined names.

-- 
Neil Cerutti
If only faces could talk. --Pat Summerall
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Simple Tkinter problem

2006-11-07 Thread gmarkowsky
Here's my Tkinter class:

class TwoChoice:
def __init__(self, master):

frame = Frame(master)
frame.pack()
m = Label(root, text= maentry)
m.pack()
n = Label(root, text= fave)
n.pack()

self.button = Button(frame, text=home_team, command=
self.comm_1)
self.button.pack(side=LEFT)

self.hi_there = Button(frame, text=vis_team,
command=self.comm_2)
self.hi_there.pack(side=LEFT)

def comm_1(self):
print home_team
root.quit()

def comm_2(self):
print vis_team
root.quit()

I call it by

root = Tk()
gui= TwoChoice(root)
root.mainloop()

The next time I call it I want to just run the same thing but with
different values for the variables. Instead it gives me like two copies
of the widget.

Greg

Neil Cerutti wrote:
 On 2006-11-07, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:
  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?

 Show your code.

  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.

 The best way to do it is to never use undefined names.
 
 -- 
 Neil Cerutti
 If only faces could talk. --Pat Summerall

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: Simple Tkinter problem

2006-11-07 Thread jim-on-linux

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


Re: Simple Tkinter problem

2006-11-07 Thread jim-on-linux
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,

 [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