Home | History | Annotate | Download | only in matt
      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