Как изменить цвет фона у ttk.Notebook в Python 3 (GUI)?
хочу изменить цвет фона (по дефолту серый ) пробовал через style но безуспешно, а изменить через Configure получилось некорректно.
Код:
#import
import os
import tkinter as tk
import tkinter.ttk as ttk
from tkinter import *
from tkinter.font import BOLD
from PIL import Image, ImageTk, ImageFont,ImageDraw
from tkinter.ttk import Style
#Global file road
os.chdir('D:\XXXXXX')
class App:
def __init__(self, window):
notebook = ttk.Notebook(window)
notebook.pack(fill='both', expand='true')
#Stiles
Mybackground = "#0B1623"
MyGreen = "#336666"
MyYellow = "#F2C84B"
test = Style()
test.theme_create( "my_tables", parent="alt", settings={
"TNotebook": {"configure": {"tabmargins": [2, 0, 2, 0] } },
"TNotebook": {
"configure": {"background": Mybackground }},
"TNotebook.Tab": {
"configure": {"padding": [80, 1], "background": MyGreen },
"map": {"background": [("selected", MyYellow)]} } })
test.theme_use("my_tables")
#Main window
window_main = Tk()
window_app=App(window_main)
window_main.title("F&S Main")
window_main.iconbitmap('Main.ico')
window_main.geometry("1200x700+200+70")
window_main.resizable(False,False)
window_main['bg'] = '#0B1623'
#open window_main
window_main.mainloop()
Ответы (2 шт):
Автор решения: Nikolay
→ Ссылка
Решение, полученное совместно с @GrAnd:
test = Style()
test.theme_create( "my_tables", parent="alt", settings={
"TFrame": {"configure": {"background": Mybackground }},
"TNotebook": {"configure": {"tabmargins": [2, 0, 2, 0] } },
"TNotebook": {
"configure": {"background": Mybackground }},
"TNotebook.Tab": {
"configure": {"padding": [80, 1], "background": MyGreen },
"map": {"background": [("selected", MyYellow)]} } })
test.theme_use("my_tables")
Автор решения: Fox Fox
→ Ссылка
Требуемый кусок кода из моей библиотеки функций. Переменные типа lib_background установите такими, какие вам нужны. Главное в ответе - нужные идеи. configure должен сопровождаться map. Никакие сторонние виджеты, как пишут в других ответах, не нужны. Вот код:
import tkinter.ttk
tkinter.ttk.Style().theme_use("clam")
tkinter.ttk.Style().configure("TNotebook",
background = lib_background,
relief = "groove")
tkinter.ttk.Style().map("TNotebook",
background = [("disabled", lib_background), ("focus", lib_background)],
relief = [("disabled", "groove"), ("focus", "groove")])
tkinter.ttk.Style().configure("TNotebook.Tab",
background = lib_background,
font = lib_font_base,
foreground = lib_foreground)
tkinter.ttk.Style().map("TNotebook.Tab",
background = [("disabled", lib_foreground), ("focus", lib_background)],
font = [("disabled", lib_font_base), ("focus", lib_font_base)],
foreground = [("disabled", lib_foreground), ("focus", lib_foreground)])
