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() > > -- http://mail.python.org/mailman/listinfo/python-list