This library helps you to set style to tkinter default widget using stylesheet without much work.
Quick Example:
from tkinter import *
from tkstylesheet import TkThemeLoader
_style = """
Tk{
background: "#565657"; /*background color of the root widget*/
}
Label{
foreground: "#ebebeb";
background: "#565657";
}
Button{
foreground: "#ebebeb";
background: "#565657";
}
"""
root = Tk()
Label(root, text="label").pack()
Button(root, text="Button").pack()
theme = TkThemeLoader(root)
theme.setStylesheet(_style) # pass as string
root.mainloop()
If you want to load tkss from a file:
- save you theme in a file
- load it using TkThemeLoader().loadStyleSheet(file_path)
example:
theme.tkss
Tk{
background: "#565657";
}
Label{
foreground: "#ebebeb";
background: "#565657";
}
Button{
foreground: "#ebebeb";
background: "#565657";
}
project.py
from tkinter import *
from tkstylesheet import TkThemeLoader
root = Tk()
Label(root, text="label").pack()
Button(root, text="Button").pack()
theme = TkThemeLoader(root)
theme.loadStyleSheet("theme.tkss") # pass file path
root.mainloop()
Please read further examples on how to switch theme etc, here. Refer stylesheets examples here
Documentation here