Clarify portability and main program.
[python/dscho.git] / Demo / tkinter / matt / radiobutton-simple.py
blob65dfe52ba1d5cce81fd68b0f4404340f633262aa
1 from Tkinter import *
3 # This is a demo program that shows how to
4 # create radio buttons and how to get other widgets to
5 # share the information in a radio button.
6 #
7 # There are other ways of doing this too, but
8 # the "variable" option of radiobuttons seems to be the easiest.
10 # note how each button has a value it sets the variable to as it gets hit.
13 class Test(Frame):
14 def printit(self):
15 print "hi"
17 def createWidgets(self):
19 self.flavor = StringVar()
20 self.flavor.set("chocolate")
22 self.radioframe = Frame(self)
23 self.radioframe.pack()
25 # 'text' is the label
26 # 'variable' is the name of the variable that all these radio buttons share
27 # 'value' is the value this variable takes on when the radio button is selected
28 # 'anchor' makes the text appear left justified (default is centered. ick)
29 self.radioframe.choc = Radiobutton(
30 self.radioframe, text="Chocolate Flavor",
31 variable=self.flavor, value="chocolate",
32 anchor=W)
33 self.radioframe.choc.pack(fill=X)
35 self.radioframe.straw = Radiobutton(
36 self.radioframe, text="Strawberry Flavor",
37 variable=self.flavor, value="strawberry",
38 anchor=W)
39 self.radioframe.straw.pack(fill=X)
41 self.radioframe.lemon = Radiobutton(
42 self.radioframe, text="Lemon Flavor",
43 variable=self.flavor, value="lemon",
44 anchor=W)
45 self.radioframe.lemon.pack(fill=X)
47 # this is a text entry that lets you type in the name of a flavor too.
48 self.entry = Entry(self, textvariable=self.flavor)
49 self.entry.pack(fill=X)
50 self.QUIT = Button(self, text='QUIT', foreground='red',
51 command=self.quit)
52 self.QUIT.pack(side=BOTTOM, fill=BOTH)
55 def __init__(self, master=None):
56 Frame.__init__(self, master)
57 Pack.config(self)
58 self.createWidgets()
60 test = Test()
62 test.mainloop()