A Dark Theme for your Tkinter Python apps
This project is part of the Pyrustic Open Ecosystem.
Installation | Reference | TkStyle
Thanks to TkStyle, the cyberpunk-theme
is both flexible and easy to use.
import tkinter as tk
from cyberpunk_theme import Cyberpunk
# root
root = tk.Tk()
# apply the Cyberpunk theme to the GUI
cyberpunk_theme = Cyberpunk()
cyberpunk_theme.target(root)
# From now on, the theme applies to the entire GUI
# (your awesome code)
# ...
# mainloop
root.mainloop()
What if you want to customize the style of a specific widget ?
Each generic widget has a default style which can be retrieved via a function named get_{widget-name}_style_1'
.
Some generic widgets like the Button
widget have multiple styles.
import tkinter as tk
from cyberpunk_theme.widget.button import get_button_dark_style
# root
root = tk.Tk()
# button
button = tk.Button(root, text="Click")
button.pack()
# style
button_style_1 = get_button_dark_style()
button_style_1.target(button)
# mainloop
root.mainloop()
The generic Button
widget has up to ten styles.
The package megawidget contains a collection of useful custom widgets built with the standard tkinter widgets.
You can set specific styles to megawidgets
too !
import tkinter as tk
from megawidget.table import Table
from cyberpunk_theme.megawidget.table import get_table_style_1
# root
root = tk.Tk()
# the table megawidget
titles = ("Name", "Age")
data = [("Jack", 39), ("Jane", 42)]
table = Table(root, titles=titles, data=data)
table.pack()
# style the table
table_style_1 = get_table_style_1()
table_style_1.target(table)
# mainloop
root.mainloop()
You can create your own theme or style, or modify the cyberpunk-theme
as you wish.
Check out TkStyle !
$ pip install cyberpunk-theme