Python GUI Tk : Border
Titled Border
from Tkinter import * root = Tk() root.title('Buttons') f = Frame(root, width=300, height=110) xf = Frame(f, relief=GROOVE, borderwidth=2) Label(xf, text="AAA").pack(pady=10) Button(xf, text="bbb", state=DISABLED).pack(side=LEFT, padx=5, pady=8) Button(xf, text="ccc rrr rrr rrr rrr", command=root.quit).pack(side=RIGHT, padx=5, pady=8) xf.place(relx=0.01, rely=0.125, anchor=NW) Label(f, text='Titled Border').place(relx=.06, rely=0.125,anchor=W) f.pack() root.mainloop()
Label border: RAISED, SUNKEN, FLAT, RIDGE, GROOVE, SOLIDfrom Tkinter import * root = Tk() root.title('Frames') for relief in [RAISED, SUNKEN, FLAT, RIDGE, GROOVE, SOLID]: f = Frame(root, borderwidth=2, relief=relief) Label(f, text=relief, width=10).pack(side=LEFT) f.pack(side=LEFT, padx=5, pady=5) root.mainloop()Set borderButton Borderfrom Tkinter import * class AllTkinterWidgets: def __init__(self, master): frame = Frame(master, width=500, height=400, bd=1) frame.pack() iframe1 = Frame(frame, bd=2, relief=SUNKEN) Button(iframe1, text='Button').pack(side=LEFT, padx=5) Checkbutton(iframe1, text='CheckButton').pack(side=LEFT, padx=5) v=IntVar() Radiobutton(iframe1, text='Button 1', variable=v, value=3).pack(side=RIGHT, anchor=W) Radiobutton(iframe1, text='Button 2', variable=v, value=2).pack(side=RIGHT, anchor=W) Radiobutton(iframe1, text='Button 3', variable=v, value=1).pack(side=RIGHT, anchor=W) iframe1.pack(expand=1, fill=X, pady=10, padx=5) root = Tk() all = AllTkinterWidgets(root) root.title('Tkinter Widgets') root.mainloop()Button Border stylesfrom Tkinter import * class GUI: def __init__(self): self.root = Tk() self.root.title('Button Styles') for bdw in range(5): setattr(self, 'of%d' % bdw, Frame(self.root, borderwidth=0)) Label(getattr(self, 'of%d' % bdw), text='borderwidth = %d ' % bdw).pack(side=LEFT) for relief in [RAISED, SUNKEN, FLAT, RIDGE, GROOVE, SOLID]: Button(getattr(self, 'of%d' % bdw), text=relief, borderwidth=bdw, relief=relief, width=10, command=lambda s=self, r=relief, b=bdw: s.prt(r,b))\ .pack(side=LEFT, padx=7-bdw, pady=7-bdw) getattr(self, 'of%d' % bdw).pack() def prt(self, relief, border): print '%s:%d' % (relief, border) myGUI = GUI() myGUI.root.mainloop()
from Tkinter import * class Alarm(Frame): def __init__(self): Frame.__init__(self) self.pack() stopper = Button(self, text='Stop the beeps!', command=self.quit) stopper.pack() stopper.config(bg='navy', fg='white', bd=8) if __name__ == '__main__': Alarm().mainloop()Border for a group of check boxes
from Tkinter import * class Checkbar(Frame): def __init__(self, parent=None, picks=[], side=LEFT, anchor=W): Frame.__init__(self, parent) self.vars = [] for pick in picks: var = IntVar() chk = Checkbutton(self, text=pick, variable=var) chk.pack(side=side, anchor=anchor, expand=YES) self.vars.append(var) def state(self): return map((lambda var: var.get()), self.vars) 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('Verify exit', "Really quit?") if ans: Frame.quit(self) if __name__ == '__main__': root = Tk() lng = Checkbar(root, ['Python', 'C#', 'Java', 'C++']) tgl = Checkbar(root, ['All']) lng.pack(side=TOP, fill=X) tgl.pack(side=LEFT) lng.config(relief=GROOVE, bd=2) def allstates(): print lng.state(), tgl.state() Quitter(root).pack(side=RIGHT) Button(root, text='Peek', command=allstates).pack(side=RIGHT) root.mainloop()Label with borderimport Tkinter root = Tkinter.Tk() for r in range(3): for c in range(4): Tkinter.Label(root, text='R%s/C%s'%(r,c),borderwidth=3 ).grid(row=r,column=c) root.mainloop()