Python GUI toolkits quick reference.
TKinter cheat sheet code:
References- http://effbot.org/tkinterbook/radiobutton.htm
- http://www.pythonware.com/library/tkinter/introduction/index.htm
#!/usr/bin/python from Tkinter import * import tkMessageBox import tkSimpleDialog class GridRefImpl: def __init__(self, master=None): self.master = master self.layoutWidgets() #self.master.protocol("WM_DELETE_WINDOW", self.window_close_handler) def layoutWidgets(self): self.frame = Frame(self.master, width=400, height=420) menu = Menu(self.master) self.master.config(menu=menu) filemenu = Menu(menu) menu.add_cascade(label="File", menu=filemenu) filemenu.add_command(label="New", command=self.menu_handler) filemenu.add_command(label="Open...", command=self.menu_handler) filemenu.add_separator() filemenu.add_command(label="Exit", command=self.menu_handler) helpmenu = Menu(menu) menu.add_cascade(label="Help", menu=helpmenu) helpmenu.add_command(label="About...", command=self.menu_handler) self.body = Frame(self.frame, bd=1, relief=GROOVE, padx=50, pady=50) self.body.pack(fill=BOTH, expand=1) Label(self.body, text='Entry1:').grid(row=0, sticky=W) Label(self.body, text='dialog demo:').grid(row=1, sticky=W) Label(self.body, text='listbox:').grid(row=2, sticky=W) Label(self.body, text='checkbox:').grid(row=3, sticky=W) Label(self.body, text='Quit:').grid(row=4) Label(self.body, text='radiobutton1:').grid(row=5,rowspan=3,sticky=W) Label(self.body, text='radiobutton2:').grid(row=8,rowspan=3,sticky=W) Label(self.body, text='Scale:').grid(row=11) Label(self.body, text='SpinBox1:').grid(row=12, sticky=W) self.label1 = Entry(self.body, width=16) # enteredText = self.label1.get() self.label1.bind('<Return>',self.enter_key_handler) # self.button1 = Button(self.body, text="Enter Name", command=self.simple_dialog_demo) # self.listbox1 = Listbox(self.body, height=4) self.listbox1.insert(END, "item1") self.listbox1.insert(END, "item2") self.listbox1.bind('<Button-3>', self.list_right_click_handler) # self.cbVar = StringVar() self.cb1 = Checkbutton(self.body, text="Enable Tab", variable=self.cbVar, onvalue="RGB", offvalue="L", command=self.cb_clicked) # self.quitbutton = Button(self.body, text="QUIT", fg="red", command=self.frame.quit) # self.rb1Var = StringVar() self.rb1Var.set("A") # initialize self.rb1a = Radiobutton(self.body, text="RB1 A", variable=self.rb1Var, value="A", command=self.rb1_selected) self.rb1b = Radiobutton(self.body, text="RB1 B", variable=self.rb1Var, value="B", command=self.rb1_selected) self.rb1c = Radiobutton(self.body, text="RB1 C", variable=self.rb1Var, value="C", command=self.rb1_selected) # self.rb2Var = StringVar() self.rb2Var.set("B") # initialize self.rb2a = Radiobutton(self.body, text="RB2 A", variable=self.rb2Var, indicatoron=0, value="A", command=self.rb2_selected) self.rb2b = Radiobutton(self.body, text="RB2 B", variable=self.rb2Var, indicatoron=0, value="B", command=self.rb2_selected) self.rb2c = Radiobutton(self.body, text="RB2 C", variable=self.rb2Var, indicatoron=0, value="C", command=self.rb2_selected) # self.scale1 = Scale(self.body, from_=0, to=25, resolution=0.5, orient=HORIZONTAL, command=self.scale1_handler) # self.spinbox1 = Spinbox(self.body, value=(8,6,4,2,0), width=4, command=self.spinbox_handler) self.label1.grid(row=0, column=1, sticky=W) self.button1.grid(row=1, column=1, sticky=W) self.listbox1.grid(row=2, column=1, sticky=W) self.cb1.grid(row=3, column=1, sticky=W) self.quitbutton.grid(row=4, column=1, sticky=W) self.rb1a.grid(row=5,column=1) self.rb1b.grid(row=6,column=1) self.rb1c.grid(row=7,column=1) self.rb2a.grid(row=8,column=1) self.rb2b.grid(row=9,column=1) self.rb2c.grid(row=10,column=1) self.scale1.grid(row=11,column=1) self.spinbox1.grid(row=12,column=1) self.statusText = StringVar() Label(self.master, text="status bar", bd=1, relief=SUNKEN, anchor=W, textvariable=self.statusText).pack(side=BOTTOM, fill=X) self.statusText.set("Tkinter Demo...") #self.status = Label(self.master, text="status bar", bd=1, relief=SUNKEN, anchor=W) #self.status.pack(side=BOTTOM, fill=X) self.frame.pack(fill=BOTH, expand=1) def menu_handler(self): print "called the menu!" def window_close_handler(self): # showinfo, showwarning, showerror, askquestion, askokcancel, askyesno, or askretrycancel if tkMessageBox.askokcancel("Quit", "Are you sure?\nDo you really wish to quit?"): self.master.destroy() def simple_dialog_demo(self): # tkSimpleDialog.askinteger(title, prompt [initialvalue="5",minvalue="0",maxvalue="9"]) # tkSimpleDialog.askfloat(title, prompt [initialvalue="0.12",minvalue="0",maxvalue="9.0"]) result = tkSimpleDialog.askstring("Como se llama?", "Nombre", initialvalue="?") if result: self.statusText.set("result:" + result) def enter_key_handler(self, event): self.statusText.set("label1value" + self.label1.get()) def list_right_click_handler(self, event): if self.listbox1.curselection(): self.statusText.set("listbox1 value:" + self.listbox1.get(self.listbox1.curselection()[0])) def cb_clicked(self): self.statusText.set("cbVar value:" + self.cbVar.get()) def rb1_selected(self): self.statusText.set("rb1Value: " + self.rb1Var.get()) def rb2_selected(self): self.statusText.set("rb2Value: " + self.rb2Var.get()) def scale1_handler(self, event): self.statusText.set("rb2Value: " + str(self.scale1.get())) def spinbox_handler(self): self.statusText.set("spinbox1value" + self.spinbox1.get()) root = Tk() root.title('Grid Ref Impl') gridRefImpl = GridRefImpl(root) root.mainloop()