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() 63