Tkinter Problem with Radiobuttons
Ryan Vartanian
vartan at leland.stanford.edu
Wed Jul 19 16:25:30 EDT 2000
Richard-
Thx a lot, this has fixed my problem, and made IntVar and the Var types
in Tkinter a lot clearer.
Ryan
richard_chamberlain at my-deja.com wrote:
>
> Hi Ryan,
>
> You are getting the value of self.selection as if it were a variable
> rather than a class. To get the current value of self.selection use
> self.selection.get(). An example:
>
> from Tkinter import *
> root=Tk()
>
> selection=IntVar()
> nativeButton=Radiobutton(root,text="Native: CFD Datasets produced on
> this OS",
> variable=selection,value=0)
> bigEButton=Radiobutton(root,text="Big Endian: Solaris,SGI, Motorola",
> variable=selection, value=1)
> littleEButton=Radiobutton(root,text="Little Endian:Intel, DEC",
> variable=selection,value=2)
> def Ok():
> print 'This is selection.get():',selection.get()
> print 'This is just selection:',selection
> okButton=Button(root, text="Ok", command=Ok)
> nativeButton.pack(anchor=NW,side=TOP)
> bigEButton.pack(anchor=NW,side=TOP)
> littleEButton.pack(anchor=NW,side=TOP)
> okButton.pack(anchor=NE,side=TOP)
>
> root.mainloop()
>
> Notice the two print statements in Ok(), one returns the PY_VAR which
> is how IntVar represents it self.
>
> Richard
>
> In article <3974E55A.FED978BD at leland.stanford.edu>,
> Ryan Vartanian <vartan at leland.stanford.edu> wrote:
> >
> > I am trying to use radiobuttons to select a value for a program, and I
> > am haveing trouble with the IntVar() and StringVar() classes.
> >
> > My code looks like this:
> >
> > self.selection=IntVar()
> > self.nativeButton=Radiobutton(self.byteWindow, text="Native: CFD
> > Datasets produced on this OS", variable=self.selection, value=0)
> >
> > self.bigEButton=Radiobutton(self.byteWindow, text="Big Endian:
> Solaris,
> > SGI, Motorola", variable=self.selection, value=1)
> >
> > self.littleEButton=Radiobutton(self.byteWindow, text="Little Endian:
> > Intel, DEC", variable=self.selection, value=2)
> >
> > self.okButton=Button(self.byteWindow, text="Ok", command=self.Ok)
> > self.cancelButton=Button(self.byteWindow, text="Cancel",
> > command=self.Cancel)
> >
> > All of this is packed in window, and things when I select a given
> > radiobutton, the value of the variable is not 0, 1, or 2, but PY_VAR0,
> > PY_VAR1, or PY_VAR2. The documentation for IntVar() is sparse at
> best.
> > Any suggestions on what is going on here?
> >
> > Ryan Vartanian
> >
>
> Sent via Deja.com http://www.deja.com/
> Before you buy.
More information about the Python-list
mailing list