def set_theme(app, top, theme): # set theme style = ttk.Style(top) try: style.theme_use(theme) except: print_err(_('invalid theme name: ') + theme) style.theme_use(app.opt.default_tile_theme)
def init_root_window(root, app): base_init_root_window(root, app) if TOOLKIT == 'tk': hideTkConsole(root) if TOOLKIT == 'gtk': pass elif USE_TILE: style = ttk.Style(root) color = style.lookup('.', 'background') if color: root.tk_setPalette(color) # for non-ttk widgets if app.opt.tile_theme == 'aqua': # standard Tk scrollbars work on OS X, but ttk ones look weird ttk.Scrollbar = tkinter.Scrollbar else: # pure Tk # root.option_add(...) pass
def init_root_window(root, app): base_init_root_window(root, app) if TOOLKIT == 'gtk': pass elif USE_TILE: theme = app.opt.tile_theme style = ttk.Style(root) if theme not in ('winnative', 'xpnative'): color = style.lookup('.', 'background') if color: root.tk_setPalette(color) # root.option_add('*Menu.foreground', 'black') root.option_add('*Menu.activeBackground', '#08246b') root.option_add('*Menu.activeForeground', 'white') if theme == 'winnative': style.configure('Toolbutton', padding=2) else: # root.option_add(...) pass
def init_root_window(root, app): base_init_root_window(root, app) ## if TOOLKIT == 'tk': ## window.wm_iconbitmap("@"+filename) ## window.wm_iconmask("@"+filename) ##root.self.wm_maxsize(9999, 9999) # unlimited if TOOLKIT == 'gtk': pass elif USE_TILE: f = os.path.join(app.dataloader.dir, 'tcl', 'menu8.4.tcl') if os.path.exists(f): try: root.tk.evalfile(f) except: traceback.print_exc() f = 'clrpick8.5.tcl' f = os.path.join(app.dataloader.dir, 'tcl', f) if os.path.exists(f): try: root.tk.evalfile(f) except: traceback.print_exc() f = 'fsdialog8.5.tcl' f = os.path.join(app.dataloader.dir, 'tcl', f) if os.path.exists(f): try: root.tk.evalfile(f) except: traceback.print_exc() else: import tkFileDialog tkFileDialog.Open.command = 'ttk::getOpenFile' tkFileDialog.SaveAs.command = 'ttk::getSaveFile' tkFileDialog.Directory.command = 'ttk::chooseDirectory' style = ttk.Style(root) color = style.lookup('.', 'background') if color: root.tk_setPalette(color) root.option_add('*Menu.borderWidth', 1, 60) root.option_add('*Menu.activeBorderWidth', 1, 60) color = style.lookup('.', 'background', ['active']) if color: root.option_add('*Menu.activeBackground', color, 60) root.option_add('*Listbox.background', 'white', 60) root.option_add('*Listbox.foreground', 'black', 60) root.option_add('*Text.background', 'white', 60) root.option_add('*Text.foreground', 'black', 60) root.option_add('*selectForeground', 'white', 60) root.option_add('*selectBackground', '#0a5f89', 60) root.option_add('*inactiveSelectBackground', '#0a5f89', 60) # Tk-8.5 color = style.lookup('TEntry', 'selectbackground', ['focus']) if color: root.option_add('*selectBackground', color, 60) root.option_add('*inactiveSelectBackground', color, 60) color = style.lookup('TEntry', 'selectforeground', ['focus']) if color: root.option_add('*selectForeground', color, 60) root.option_add('*selectBorderWidth', 0, 60) font = root.option_get('font', TITLE) if font: # use font from xrdb fn = get_font_name(font) if fn: ##root.option_add('*font', font) style.configure('.', font=font) app.opt.fonts['default'] = fn # treeview heading f = root.tk.splitlist(root.tk.call('font', 'actual', fn)) root.tk.call('font', 'configure', 'TkHeadingFont', *f) else: # use font from ttk settings font = style.lookup('.', 'font') if font: fn = get_font_name(font) if fn: root.option_add('*font', font) app.opt.fonts['default'] = fn if app.opt.tile_theme == 'clam': style.configure('TLabelframe', labeloutside=False, labelmargins=(8, 0, 8, 0)) # else: root.option_add('*Entry.background', 'white', 60) root.option_add('*Entry.foreground', 'black', 60) root.option_add('*Listbox.background', 'white', 60) root.option_add('*Listbox.foreground', 'black', 60) root.option_add('*Text.background', 'white', 60) root.option_add('*Text.foreground', 'black', 60) root.option_add('*selectForeground', 'white', 60) root.option_add('*selectBackground', '#0a5f89', 60) root.option_add('*inactiveSelectBackground', '#0a5f89', 60) # Tk-8.5 root.option_add('*selectBorderWidth', 0, 60) ##root.option_add('*borderWidth', '1', 50) ##root.option_add('*Button.borderWidth', '1', 50) root.option_add('*Scrollbar.elementBorderWidth', 1, 60) root.option_add('*Scrollbar.borderWidth', 1, 60) root.option_add('*Menu.borderWidth', 1, 60) root.option_add('*Menu.activeBorderWidth', 1, 60) #root.option_add('*Button.HighlightBackground', '#595d59') #root.option_add('*Button.HighlightThickness', '1') font = root.option_get('font', TITLE) if font: fn = get_font_name(font) app.opt.fonts['default'] = fn else: root.option_add('*font', 'helvetica 12', 60) app.opt.fonts['default'] = ('helvetica', 12, 'roman', 'normal')