Tkinter - How can I change the default Notebook border color? - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: GUI (https://python-forum.io/forum-10.html) +--- Thread: Tkinter - How can I change the default Notebook border color? (/thread-30127.html) |
Tkinter - How can I change the default Notebook border color? - TurboC - Oct-06-2020 below my example code: from tkinter import * from tkinter import ttk root = Tk() root.geometry("400x300") style=ttk.Style() style.configure("TNotebook", highlightbackground="#848a98") # if I use another option like - background="#848a98" - the style changes, but with - highlightbackground="#848a98" - option the style doesn't change.. MainNotebook = ttk.Notebook(root, style="TNotebook") MainNotebook.place(x=16, y=16) Frame1=Frame(MainNotebook, background="#ffffff", width=200, height=150) Frame1.pack() Frame2=Frame(MainNotebook, background="#ffffff", width=200, height=150) Frame2.pack() MainNotebook.add(Frame1, text="Tab1") MainNotebook.add(Frame2, text="Tab2") root.mainloop()my goal is change the default border color in "#848a98" but the option highlightbackground="#848a98" doesn't work. am I using a wrong instruction? how can I solve my issue? RE: Tkinter - How can I change the default Notebook border color? - Larz60+ - Oct-06-2020 I found this theme on web, modified for better effect (reference in script): Credit: project: JAVER_Assist Author: tywings File: main_gui.py License: MIT License (you can change margin size to see background color (your selection) better. Colors are from w3schools color picker here: https://www.w3schools.com/colors/colors_picker.asp from tkinter import * from tkinter import ttk root = Tk() root.geometry("400x300") root.title("Notebook with theme style") # style=ttk.Style() # style.configure("TNotebook", highlightbackground="#848a98") # if I use another option like - background="#848a98" - the style changes, but with - highlightbackground="#848a98" - option the style doesn't change.. # Origin (modified) of style code: https://www.programcreek.com/python/example/104109/tkinter.ttk.Notebook Number 25 style = ttk.Style() style.theme_create('pastel', settings={ ".": { "configure": { "background": '#ffffcc', # All except tabs "font": 'red' } }, "TNotebook": { "configure": { "background":'#848a98', # Your margin color "tabmargins": [2, 5, 0, 0], # margins: left, top, right, separator } }, "TNotebook.Tab": { "configure": { "background": '#d9ffcc', # tab color when not selected "padding": [10, 2], # [space between text and horizontal tab-button border, space between text and vertical tab_button border] "font":"white" }, "map": { "background": [("selected", '#ccffff')], # Tab color when selected "expand": [("selected", [1, 1, 1, 0])] # text margins } } }) style.theme_use('pastel') MainNotebook = ttk.Notebook(root) # MainNotebook.place(x=16, y=16) MainNotebook.pack(fill=BOTH, expand=True) Frame1=Frame(MainNotebook, background="#ffffff", width=200, height=150) Frame1.pack() Frame2=Frame(MainNotebook, background="#ffffff", width=200, height=150) Frame2.pack() MainNotebook.add(Frame1, text="Tab1") MainNotebook.add(Frame2, text="Tab2") root.mainloop()image: [attachment=1007] RE: Tkinter - How can I change the default Notebook border color? - TurboC - Oct-06-2020 mm.. interesting, I tried to make some code changes but I can't reach my goal. it's a little bit complicate. can you help me? what I want to do is very simple, I just want to color the Notebook border with "#848a98". RE: Tkinter - How can I change the default Notebook border color? - Larz60+ - Oct-06-2020 That's in there, search for '# Your margin color' then you can change color of other or just remove RE: Tkinter - How can I change the default Notebook border color? - TurboC - Oct-06-2020 Quote:That's in there, search for '# Your margin color' maybe I'm wrong, but from my tests, it changes the background color and not the border color. to do it I can use simply the "background" option in the "configure" method for the "ttk.Style()" object. RE: Tkinter - How can I change the default Notebook border color? - bigmac - May-23-2022 for the theme coding in the above case, "TNotebook": { "configure": { "background":'#848a98', # Your margin color "tabmargins": [2, 5, 0, 0], # margins: left, top, right, separator } }, "TNotebook.Tab": { "configure": { "background": '#d9ffcc', # tab color when not selected "padding": [10, 2], # [space between text and horizontal tab-button border, space between text and vertical tab_button border] "font":"white" Is there any way (or resources) to know all the parameters below the TNotebook such as "color", "padding" "border" or "expand" etc. And also other choices beyond the "TNotebook","TNotebook.Tab" and "map" etc. Thanks so much! |