| from Tkinter import * |
| |
| # This is a demo program that shows how to |
| # create radio buttons and how to get other widgets to |
| # share the information in a radio button. |
| # |
| # There are other ways of doing this too, but |
| # the "variable" option of radiobuttons seems to be the easiest. |
| # |
| # note how each button has a value it sets the variable to as it gets hit. |
| |
| |
| class Test(Frame): |
| def printit(self): |
| print "hi" |
| |
| def createWidgets(self): |
| |
| self.flavor = StringVar() |
| self.flavor.set("chocolate") |
| |
| self.radioframe = Frame(self) |
| self.radioframe.pack() |
| |
| # 'text' is the label |
| # 'variable' is the name of the variable that all these radio buttons share |
| # 'value' is the value this variable takes on when the radio button is selected |
| # 'anchor' makes the text appear left justified (default is centered. ick) |
| self.radioframe.choc = Radiobutton (self.radioframe, {"text" : "Chocolate Flavor", |
| "variable" : self.flavor, |
| "value" : "chocolate", |
| "anchor" : "w", |
| Pack : {"side" : "top", "fill" : "x"}}) |
| |
| self.radioframe.straw = Radiobutton (self.radioframe, {"text" : "Strawberry Flavor", |
| "variable" : self.flavor, |
| "anchor" : "w", |
| "value" : "strawberry", |
| Pack : {"side" : "top", "fill" : "x"}}) |
| |
| self.radioframe.lemon = Radiobutton (self.radioframe, {"text" : "Lemon Flavor", |
| "anchor" : "w", |
| "variable" : self.flavor, |
| "value" : "lemon", |
| Pack : {"side" : "top", "fill" : "x"}}) |
| |
| |
| # this is a text entry that lets you type in the name of a flavor too. |
| self.entry = Entry(self, {"textvariable" : self.flavor, |
| Pack : {"side" : "top", "fill" : "x"}}) |
| self.QUIT = Button(self, {'text': 'QUIT', |
| 'fg': 'red', |
| 'command': self.quit}) |
| |
| self.QUIT.pack({'side': 'bottom', 'fill': 'both'}) |
| |
| |
| |
| def __init__(self, master=None): |
| Frame.__init__(self, master) |
| Pack.config(self) |
| self.createWidgets() |
| |
| test = Test() |
| |
| test.mainloop() |