from Tkinter import *
class Radiobar(Frame): def __init__(self, parent=None, picks=[], side=LEFT, anchor=W): Frame.__init__(self, parent) self.var = StringVar() for pick in picks: rad = Radiobutton(self, text=pick, value=pick, variable=self.var) rad.pack(side=side, anchor=anchor, expand=YES) def state(self): return self.var.get()
class Quitter(Frame): def __init__(self, parent=None): Frame.__init__(self, parent) self.pack() widget = Button(self, text='Quit', command=self.quit) widget.pack(expand=YES, fill=BOTH, side=LEFT) def quit(self): ans = askokcancel('Title', "Really quit?") if ans: Frame.quit(self)
if __name__ == '__main__': root = Tk() gui = Radiobar(root, ['A', 'B', 'C'], side=TOP, anchor=NW) gui.pack(side=LEFT, fill=Y) gui.config(relief=RIDGE, bd=2)
def allstates(): print gui.state() Quitter(root).pack(side=RIGHT) Button(root, text='Peek', command=allstates).pack(side=RIGHT) root.mainloop()
|