✨ Stukk — Modern Tkinter UI (Fork of CustomTkinter)
Stukk is a fork of CustomTkinter, a modern UI library for Python’s Tkinter. This project continues to offer fully customizable, modern widgets with light/dark theme support and HighDPI scaling.
Stukk introduces improvements, bug fixes, and a modernized configuration with focus on maintainability and ongoing development.
🆕 Changes introduced in Stukk
For details on changes and improvements introduced in this fork, please refer to the CHANGELOG.
🚀 Installation
pip install stukk
The package installs as
stukk, but you still import it as:
import customtkinter
To set up the development environment, follow the instructions in project-setup.md.
🔭 Future plans
- Additional bug fixes inherited from the original project.
- Introduction of new features and enhancements.
📚 Documentation
You can refer to the official CustomTkinter documentation, since Stukk is currently API-compatible.
🧪 Basic Example
import customtkinter
customtkinter.set_appearance_mode("System") # system (default), light, dark
customtkinter.set_default_color_theme("blue") # blue (default), dark-blue, green
app = customtkinter.CTk()
app.geometry("400x240")
def button_function():
print("button pressed")
button = customtkinter.CTkButton(master=app, text="CTkButton", command=button_function)
button.place(relx=0.5, rely=0.5, anchor=customtkinter.CENTER)
app.mainloop()
📸 Screenshots and Examples
The following images and videos are from the original project and still apply to Stukk.
Appearance mode change and scaling change
CustomTkinter can adapt to the Windows 10/11 light or dark mode:
| complex_example.py on Windows 11 with system appearance mode change and standard 'blue' theme
On macOS you either need python3.10 or higher or the anaconda python version to get a dark window header (Tcl/Tk >= 8.6.9 required):
| complex_example.py on macOS with system appearance mode change, user-scaling change and standard 'blue' theme
Button with images
It's possible to put an image on a CTkButton. You just have to
pass a PhotoImage object to the CTkButton with the image argument.
If you want no text at all you have to set text="" or you specify
how to position the text and image at once with the compound option:
|
image_example.py on Windows 11
Scrollable Frames
Scrollable frames are possible in vertical or horizontal orientation and can be combined
with any other widgets.
|
scrollable_frame_example.py on Windows 11
Integration of TkinterMapView widget
In the following example I used a TkinterMapView which integrates well with a CustomTkinter program. It's a tile based map widget which displays OpenStreetMap or other tile based maps:
| examples/map_with_customtkinter.py from TkinterMapView repository on Windows 11
You can find the TkinterMapView library and example program here: https://github.com/TomSchimansky/TkinterMapView
🙌 Credits
This project is a fork of Tom Schimansky / CustomTkinter. All original credits go to him. Stukk aims to maintain and improve the library as the community evolves.
👤 Maintainer
Stukk is maintained by WipoDev. Want to contribute? Suggestions and PRs are welcome!
Metadata
Release files for stukk 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| stukk-1.0.0.tar.gz | 273.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| stukk-1.0.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 580.5 kB
Release files / stukk-1.0.0.tar.gz
| Download URL | stukk-1.0.0.tar.gz |
|---|---|
| Size | 273.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
cea1977acb233ca0946ee6bee2dd6216e09b32083f83266783c214ed74e84f46
|
|
BLAKE2b-256 checksum How to use checksums |
1ece309c145e54bfa1a8252e34c858a7733ddafd46392280f27e7df272e43319
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|
Release files / stukk-1.0.0-py3-none-any.whl
| Download URL | stukk-1.0.0-py3-none-any.whl |
|---|---|
| Size | 306.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f797a0d525af7430339775e57f0d4f28266f2de50a1026d1fd0c9eb3c2a4e325
|
|
BLAKE2b-256 checksum How to use checksums |
b18c76954a84b0bb6f5a85882043391efcac57d13470e0090f51b6e4bf891c14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.11.9
|