Getting value of radiobutton trouble
VK
"myname" at example.invalid
Sat May 28 19:10:54 EDT 2005
Philippe C. Martin wrote:
> Then I guess you need a TopLevel widget instead:
>
>
> (I still suggest you look at wxPython)
>
>
> from Tkinter import *
> class GetVariant:
> def __init__(self,p):
> self.root = p
>
> self.firstframe = Frame(self.root,bg="red")
> self.firstframe.pack(side=BOTTOM,expand=1)
>
>
> self.v = StringVar()
> self.radiobutton = Radiobutton(self.firstframe,text="Variant 1",
> variable=self.v, value="Variant 1")
> self.radiobutton.pack(side=TOP,anchor=W)
> self.radiobutton.select()
> self.radiobutton = Radiobutton(self.firstframe,text="Variant 2",
> variable=self.v, value="Variant 2")
> self.radiobutton.pack(side=TOP,anchor=W)
> self.radiobutton = Radiobutton(self.firstframe,text="Variant 3",
> variable=self.v, value="Variant 3")
> self.radiobutton.pack(side=TOP,anchor=W)
>
>
>
> self.secondframe = Frame(self.root,bg="blue")
> self.secondframe.pack()
> self.var = Button(self.secondframe,text="What
> Variant",command=self.call)
> self.var.pack(expand=1,side=BOTTOM)
>
>
>
> def call(self):
> self.variant = self.v.get()
> print 'Input => "%s"' % self.variant
>
> class OneButton:
> def __init__(self):
> self.root = Tk()
> Button(self.root,text="click me",command=self.getvar).pack()
> def getvar(self):
> self.mainframe = Toplevel(bg="yellow")
> a=GetVariant(self.mainframe)
>
> d = OneButton()
> d.root.mainloop()
>
> VK wrote:
>
>
>>Philippe C. Martin wrote:
>>
>>>Sorry,
>>>
>>>I still had your code in my clipboard :-) here goes:
>>
>>So, your code works, but I need, that first window calls another
>>separate window. In your programm they stick together.
>>Reg, VK
>>
>>
>>>
>>>
>>>from Tkinter import *
>>>class GetVariant(Frame):
>>> def __init__(self,p):
>>> self.root = p
>>> self.mainframe = Frame(self.root,bg="yellow")
>>> self.mainframe.pack(fill=BOTH,expand=1)
>>>
>>> self.firstframe = Frame(self.mainframe,bg="red")
>>> self.firstframe.pack(side=BOTTOM,expand=1)
>>>
>>>
>>> self.v = StringVar()
>>> self.radiobutton = Radiobutton(self.firstframe,text="Variant 1",
>>>variable=self.v, value="Variant 1")
>>> self.radiobutton.pack(side=TOP,anchor=W)
>>> self.radiobutton.select()
>>> self.radiobutton = Radiobutton(self.firstframe,text="Variant 2",
>>>variable=self.v, value="Variant 2")
>>> self.radiobutton.pack(side=TOP,anchor=W)
>>> self.radiobutton = Radiobutton(self.firstframe,text="Variant 3",
>>>variable=self.v, value="Variant 3")
>>> self.radiobutton.pack(side=TOP,anchor=W)
>>>
>>>
>>>
>>> self.secondframe = Frame(self.mainframe,bg="blue")
>>> self.secondframe.pack()
>>> self.var = Button(self.secondframe,text="What
>>>Variant",command=self.call)
>>> self.var.pack(expand=1,side=BOTTOM)
>>>
>>>
>>>
>>> def call(self):
>>> print dir(self.v)
>>> self.variant = self.v.get()
>>> print 'Input => "%s"' % self.variant
>>>
>>>class OneButton(Frame):
>>> def __init__(self):
>>> self.root = Tk()
>>> Button(self.root,text="click me",command=self.getvar).pack()
>>> def getvar(self):
>>> print 'HRE'
>>> a=GetVariant(self.root)
>>>
>>>d = OneButton()
>>>d.root.mainloop()
>>>
>>>
>>>
>>>
>>>
>>>
>>>Philippe C. Martin wrote:
>>>
>>>
>>>
>>>>Hi,
>>>>
>>>>I think your second call to Tk() does it: this works although the look is
>>>>different:
>>>>
>>>>
>>>
>>>>from Tkinter import *
>>>
>>>>class GetVariant:
>>>> def __init__(self):
>>>> self.root = Tk()
>>>> self.mainframe = Frame(self.root,bg="yellow")
>>>> self.mainframe.pack(fill=BOTH,expand=1)
>>>>
>>>> self.firstframe = Frame(self.mainframe,bg="red")
>>>> self.firstframe.pack(side=BOTTOM,expand=1)
>>>>
>>>> global v
>>>> v = StringVar()
>>>> self.radiobutton = Radiobutton(self.firstframe,text= "Variant
>>>>1", variable=v, value="Variant 1")
>>>> self.radiobutton.pack(side=TOP,anchor=W)
>>>> self.radiobutton.select()
>>>> self.radiobutton = Radiobutton(self.firstframe,text= "Variant
>>>>2", variable=v, value="Variant 2")
>>>> self.radiobutton.pack(side=TOP,anchor=W)
>>>> self.radiobutton = Radiobutton(self.firstframe,text= "Variant
>>>>3", variable=v, value="Variant 3")
>>>> self.radiobutton.pack(side=TOP,anchor=W)
>>>>
>>>>
>>>>
>>>> self.secondframe = Frame(self.mainframe,bg="blue")
>>>> self.secondframe.pack()
>>>> self.var = Button(self.secondframe,text="What
>>>>Variant",command=self.call)
>>>> self.var.pack(expand=1,side=BOTTOM)
>>>>
>>>>
>>>>
>>>> def call(self):
>>>> self.variant = v.get()
>>>> print 'Input => "%s"' % self.variant
>>>>
>>>>class OneButton:
>>>> def __init__(self):
>>>> self.root = Tk()
>>>> Button(self.root,text="click me",command=self.getvar).pack()
>>>> def getvar(self):
>>>> a=GetVariant()
>>>>
>>>>d = OneButton()
>>>>d.root.mainloop()
>>>>
>>>>
>>>>
>>>>
>>>>VK wrote:
>>>>
>>>>
>>>>
>>>>>Hi!
>>>>>What I'm missing in following code? Cannot get the values of
>>>>>radiobuttons. Starting only one class (GetVariant), it works. When I put
>>>>>two classes together, it doesn't.
>>>>>Regards, VK
>>>>>
>>>>
>>>>>from Tkinter import *
>>>>
>>>>>class GetVariant:
>>>>> def __init__(self):
>>>>> self.root = Tk()
>>>>> self.mainframe = Frame(self.root,bg="yellow")
>>>>> self.mainframe.pack(fill=BOTH,expand=1)
>>>>>
>>>>> self.firstframe = Frame(self.mainframe,bg="red")
>>>>> self.firstframe.pack(side=BOTTOM,expand=1)
>>>>>
>>>>> global v
>>>>> v = StringVar()
>>>>> self.radiobutton = Radiobutton(self.firstframe,text= "Variant
>>>>>1", variable=v, value="Variant 1")
>>>>> self.radiobutton.pack(side=TOP,anchor=W)
>>>>> self.radiobutton.select()
>>>>> self.radiobutton = Radiobutton(self.firstframe,text= "Variant
>>>>>2", variable=v, value="Variant 2")
>>>>> self.radiobutton.pack(side=TOP,anchor=W)
>>>>> self.radiobutton = Radiobutton(self.firstframe,text= "Variant
>>>>>3", variable=v, value="Variant 3")
>>>>> self.radiobutton.pack(side=TOP,anchor=W)
>>>>>
>>>>>
>>>>>
>>>>> self.secondframe = Frame(self.mainframe,bg="blue")
>>>>> self.secondframe.pack()
>>>>> self.var = Button(self.secondframe,text="What
>>>>>Variant",command=self.call)
>>>>> self.var.pack(expand=1,side=BOTTOM)
>>>>>
>>>>>
>>>>>
>>>>> def call(self):
>>>>> self.variant = v.get()
>>>>> print 'Input => "%s"' % self.variant
>>>>>
>>>>>class OneButton:
>>>>> def __init__(self):
>>>>> self.root = Tk()
>>>>> Button(self.root,text="click
>>>>> me",command=self.getvar).pack()
>>>>> def getvar(self):
>>>>> a=GetVariant()
>>>>>
>>>>>d = OneButton()
>>>>>d.root.mainloop()
>>>
>>>
>
Unfortunately, I can use only TkInter and Pmw
More information about the Python-list
mailing list