Skip to content

Commit 7dc4bf6

Browse files
committed
Improve styling of Notebook widget with theme
1 parent dcc20c6 commit 7dc4bf6

File tree

1 file changed

+17
-17
lines changed

1 file changed

+17
-17
lines changed

ttkwidgets/notebook.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -318,10 +318,9 @@ def __getitem__(self, key):
318318
def __setitem__(self, key, value):
319319
self.configure(**{key: value})
320320

321-
def setup_style(self, bg="#dddddd", activebg="#efefef", pressedbg="#c1c1c1",
322-
fg="black", fieldbg="white", lightcolor="#ededed", darkcolor="##cfcdc8",
323-
bordercolor="#888888", focusbordercolor="#5e5e5e", selectbg="#c1c1c1",
324-
selectfg="black", unselectfg="#999999", disabledfg="#999999", disabledbg="#dddddd"):
321+
def setup_style(self, bg=None, activebg=None, pressedbg=None, fg=None, fieldbg=None, lightcolor="#ededed",
322+
darkcolor="#cfcdc8", bordercolor="#888888", focusbordercolor="#5e5e5e", selectbg=None,
323+
selectfg=None, unselectfg="#999999", disabledfg=None, disabledbg=None):
325324
"""
326325
Setups the style for the notebook.
327326
:param bg:
@@ -339,22 +338,24 @@ def setup_style(self, bg="#dddddd", activebg="#efefef", pressedbg="#c1c1c1",
339338
:param disabledfg:
340339
:param disabledbg:
341340
"""
342-
theme = {"bg": bg,
343-
"activebg": activebg,
344-
"pressedbg": pressedbg,
345-
"fg": fg,
346-
"fieldbg": fieldbg,
347-
"lightcolor": lightcolor,
348-
"darkcolor": darkcolor,
341+
style = ttk.Style(self)
342+
343+
theme = {"bg": bg or style.lookup(".", "background", default="#dddddd"),
344+
"activebg": activebg or style.lookup(".", "background", ("active",), default="#efefef"),
345+
"pressedbg": pressedbg or style.lookup(".", "selectbackground", default="#c1c1c1"),
346+
"fg": fg or style.lookup(".", "foreground", default="black"),
347+
"fieldbg": fieldbg or style.lookup(".", "fieldbackground", default="white"),
348+
"lightcolor": lightcolor or style.lookup(".", "focuscolor", default="#ededed"),
349+
"darkcolor": darkcolor or style.lookup(".", "throughcolor", default="#cfcdc8"),
349350
"bordercolor": bordercolor,
350351
"focusbordercolor": focusbordercolor,
351-
"selectbg": selectbg,
352-
"selectfg": selectfg,
352+
"selectbg": selectbg or style.lookup(".", "selectbackground", default="#c1c1c1"),
353+
"selectfg": selectfg or style.lookup(".", "selectforeground", default="black"),
353354
"unselectedfg": unselectfg,
354-
"disabledfg": disabledfg,
355-
"disabledbg": disabledbg}
355+
"disabledfg": disabledfg or style.lookup(".", "foreground", ("disabled",), default="#999999"),
356+
"disabledbg": disabledbg or style.lookup(".", "background", ("disabled",), default="#dddddd")}
356357

357-
self.images = (
358+
self.images = ( # Must be on self to keep reference
358359
tk.PhotoImage("img_close", data="""
359360
R0lGODlhCAAIAMIBAAAAADs7O4+Pj9nZ2Ts7Ozs7Ozs7Ozs7OyH+EUNyZWF0ZWQg
360361
d2l0aCBHSU1QACH5BAEKAAQALAAAAAAIAAgAAAMVGDBEA0qNJyGw7AmxmuaZhWEU
@@ -383,7 +384,6 @@ def setup_style(self, bg="#dddddd", activebg="#efefef", pressedbg="#c1c1c1",
383384
"darkcolor": theme["darkcolor"],
384385
"troughcolor": theme["pressedbg"]}
385386

386-
style = ttk.Style(self)
387387
style.element_create("close", "image", "img_close",
388388
("active", "pressed", "!disabled", "img_closepressed"),
389389
("active", "!disabled", "img_closeactive"),

0 commit comments

Comments
 (0)