import Tkinter, Pmw, os, sys
def makeGUI(top): Tkinter.Label(text='Demonstration ofnfont and color options').pack(pady=5) list = Pmw.ScrolledListBox(top, label_text = 'my first Pwm widget', labelpos = 'n') list.pack(pady=5) Tkinter.Button(top, text='button 1').pack(pady=5) Tkinter.Button(top, text='button 2').pack(pady=5)
mylist = ('item1','item2','item3') for item in mylist: list.insert('end', item)
def readOptions(): if not os.path.isfile('.tkoptions'): print 'no file .tkoptions in the current directory' return global root root.option_readfile('.tkoptions')
def addOptions(): general_font = ('Helvetica', 14, 'bold') label_font = ('Times', 24, 'italic') listbox_font = ('Helvetica', 20, 'roman bold')
# check which fonts that are actually available: import tkFont print 'label_font:',label_font,'n realized as', tkFont.Font(font=label_font).actual() print 'general_font:',general_font,'n realized as', tkFont.Font(font=general_font).actual() print 'listbox_font:',listbox_font,'n realized as', tkFont.Font(font=listbox_font).actual()
global root root.option_add('*Font', general_font) root.option_add('*Foreground', 'black') root.option_add('*Label*Font', label_font) root.option_add('*Listbox*Font', listbox_font) root.option_add('*Listbox*Background', 'green') root.option_add('*Listbox*Foreground', 'brown')
root = Tkinter.Tk() try: if sys.argv[1] == 'file': readOptions() else: addOptions() except: print 'fonts.py file|add'; sys.exit(1)
Pmw.initialise(root,useTkOptionDb=1)
root.title('demonstrating font and color settings')
makeGUI(root) root.mainloop()
|