|
1 from Tkinter import * |
|
2 |
|
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. |
|
9 # |
|
10 # note how each button has a value it sets the variable to as it gets hit. |
|
11 |
|
12 |
|
13 class Test(Frame): |
|
14 def printit(self): |
|
15 print "hi" |
|
16 |
|
17 def createWidgets(self): |
|
18 |
|
19 self.flavor = StringVar() |
|
20 self.flavor.set("chocolate") |
|
21 |
|
22 self.radioframe = Frame(self) |
|
23 self.radioframe.pack() |
|
24 |
|
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) |
|
34 |
|
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) |
|
40 |
|
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) |
|
46 |
|
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) |
|
53 |
|
54 |
|
55 def __init__(self, master=None): |
|
56 Frame.__init__(self, master) |
|
57 Pack.config(self) |
|
58 self.createWidgets() |
|
59 |
|
60 test = Test() |
|
61 |
|
62 test.mainloop() |