Getting value of radiobutton trouble

Philippe C. Martin philippe at philippecmartin.com
Sat May 28 17:26:50 EDT 2005


PS: Since your starting with TKinter, and although I do not know what your
goal is, I suggest you take a look at wxPython: it is _wonderfull_ ! (no
offence to TCL/TK)

Regards,

Philippe






VK wrote:

> 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()
>> 
>> 
> 
> Sorry, but I don't get it. There is no deference between my code and
> your answer. I'm beginner...




More information about the Python-list mailing list