# File: bitmap.py from tkinter import * from tkinter import ttk from demopanels import MsgPanel, SeeDismissPanel class BitmapDemo(ttk.Frame): def __init__(self, isapp=True, name='bitmapdemo'): ttk.Frame.__init__(self, name=name) self.pack(expand=Y, fill=BOTH) self.master.title('Bitmap Demo') self.isapp = isapp self._create_widgets() def _create_widgets(self): if self.isapp: MsgPanel(self, ["This window displays all of Tk's built-in bitmaps, ", "and their calling names."]) SeeDismissPanel(self) self._create_demo_panel() def _create_demo_panel(self): demoPanel = Frame(self) demoPanel.pack(side=TOP, fill=BOTH, expand=Y) # the following are available on all systems; on Macs a number of # other built-in maps are also available # see: http://www.tcl.tk/man/tcl8.5/TkLib/GetBitmap.htm self._bitmap_row(demoPanel, *('error', 'gray12', 'gray25', 'gray50', 'gray75')) self._bitmap_row(demoPanel, *('hourglass', 'info', 'question', 'questhead', 'warning')) def _bitmap_row(self, parent, *args): # creates a row of built-in bitmaps f = ttk.Frame(parent) f.pack(side=TOP, fill=BOTH) for item in args: bf = ttk.Frame(f) bf.pack(side=LEFT, fill=BOTH, pady='.25c', padx='.25c') # the built-in bitmaps don't play nicely with ttk.Label bm = Label(bf, bitmap=item) txt = ttk.Label(bf, text=item, width=9) txt.pack(side=BOTTOM) bm.pack(side=BOTTOM) if __name__ == '__main__': BitmapDemo().mainloop()
Friday, August 31, 2012
Tkinter Built-in Bitmap Demo
This code is based on the Tcl bitmap.tcl demo. The demo displays the built-in bitmaps available on all systems; a number of other are available for Macs.
Labels:
Tkinter Demos,
Tkinter Misc Examples