Forest theme for ttk
Azure theme
Partially based on myHow to use
Python / tkinter
To use the theme just import the forest-light.tcl, or the forest-dark.tcl file, and call the theme_use
method to set the theme:
# Import the tcl file
root.tk.call('source', 'forest-light.tcl / forest-dark.tcl')
# Set the theme with the theme_use method
ttk.Style().theme_use('forest-light / forest-dark')
Tcl / tk
To use the theme just import the forest-light.tcl, or the forest-dark.tcl file, and call the theme use
method to set the theme:
# Import the tcl file
source "forest-light.tcl / forest-dark.tcl"
# Set theme using the theme use method
ttk::style theme use forest-light / forest-dark
New style elements
The Forest theme similar to my Azure theme has some new widget styles, such as an accent button, toggle switch, toggle button and card. You can apply these with the style option.
If you need a highlighted button, use Accent.TButton
:
button = ttk.Button(root, text='Accent button', style='Accent.TButton', command=callback)
To create a toggle button you need a checkbutton, to which you can apply the ToggleButton
style:
togglebutton = ttk.Checkbutton(root, text='Toggle button', style='ToggleButton', variable=var)
The use of switches is becoming more common these days, so this theme has a Switch
style, that can be applied to checkbuttons:
switch = ttk.Checkbutton(root, text='Switch', style='Switch', variable=var)
If you only want a border around your widgets, not an entire LabelFrame then apply the Card
style to a Frame:
card = ttk.Frame(root, style='Card', padding=(5, 6, 7, 8))
A short example
for Python...
import tkinter as tk
from tkinter import ttk
root = tk.Tk()
# Import the tcl file
root.tk.call('source', 'forest-dark.tcl')
# Set the theme with the theme_use method
ttk.Style().theme_use('forest-dark')
# A themed (ttk) button
button = ttk.Button(root, text="I'm a themed button")
button.pack(pady=20)
root.mainloop()
...and for Tcl
package require Tk 8.6
# Import the tcl file
source "forest-dark.tcl"
# Set theme using the theme use method
ttk::style theme use forest-dark
# A themed (ttk) button
ttk::button .button -text "I'm a themed button"
pack .button -pady 20