On Fri, 23 Jan 2009 02:38:32 -0000, W. eWatson <notval...@sbcglobal.net>
wrote:
I'm looking at someone's code in which invar() is used fairly often.
Apparently, it's a Tkinter method. Here's a use:
def body(self,master):
self.title("Display Settings")
self.colorVar = IntVar()
Radiobutton( master, text="Gray Scale",
value=1, variable=self.colorVar).grid(row=0,
sticky=W)
Radiobutton( master, text="Pseudo Color",
value=2, variable=self.colorVar).grid(row=1,
sticky=W)
...
What is the need for this use? It looks like some sort of initialization
for a widget.
Chris has already pointed you to the Tkinter documentation, which is a
good start but a little less than clear in places.
What your example code does is to associate self.colorVar with the set
of radio buttons. This isn't just initialisation, it's a full reflection
of the current state.
self.colorVar.get() returns the "value" parameter that you gave to the
radio button which is currently selected (so, for example, if it returns
1 you know that the "Grey Scale" button is the one selected). Similarly
self.colorVar.set(n) selects whichever radio button has the "value" which
matches n (so self.colorVar.set(2) selects the "Pseudo Color" button).
IntVar and StringVar (and DoubleVar if you must :-) are basically the
easy way of dynamically reading and changing the values in various
entry widgets, the text on buttons, and so on.
--
Rhodri James *-* Wildebeeste Herder to the Masses
--
http://mail.python.org/mailman/listinfo/python-list