the second of nested buttons using textvariable remains void!
James Stroud
jstroud at mbi.ucla.edu
Wed Mar 21 20:18:57 EDT 2007
Samkos wrote:
> Hi there,
>
> I am fighting with a problem I intended to believe trivial that
> I could not solve yet!
>
> I am trying to have a button with a variable text, that
> pops up another button with a variable text when pressed.
>
> I did that with the following program in Python, but the
> second button remains always void!!! is it related to
> the textvariable parameters?
>
> If any of you had a clue, please don't hesitate!
>
> in advance, many thanks
>
> Samuel
>
> #----------------------- program 2 buttons.py
> --------------------------
>
> from Tkinter import *
>
>
> def go(event):
> root = Tk()
>
> s1=StringVar()
> s1.set("s1")
> label1 = Label(root, textvariable=s1)
> label1.pack(side=LEFT)
>
> root.mainloop()
>
>
>
> root = Tk()
>
> s0=StringVar()
> s0.set("s0")
> label0 = Label(root, textvariable=s0)
> label0.pack(side=LEFT)
>
>
> root.bind("<Return>",go)
>
> root.mainloop()
>
You have instantiated Tk twice which causes these kind of problems. If
you want a window in go(), use Toplevel instead of Tk (and "mainloop" is
not needed in go()). I.e.:
def go(event):
not_root = Toplevel()
s1=StringVar()
s1.set("s1")
label1 = Label(not_root, textvariable=s1)
label1.pack(side=LEFT)
James
More information about the Python-list
mailing list