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