GTkinter 🧩
Simple. Clean. Pythonic GTK for humans.
🐍 What is GTkinter?
GTkinter is a Python library that wraps GTK in a beautiful, clean, and beginner-friendly interface — similar in spirit to Tkinter but powered by modern GTK.
It’s great for:
- 🧑💻 Beginners who hate GTK’s verbosity
- 🚀 Rapid prototyping
- 🧼 Keeping your GUI code clean and tidy
- 🧠 Learning GUI programming without headaches
🌟 Features
✅ Very simple API
✅ Modern GTK3 under the hood
✅ Automatic layout system (VBox / HBox)
✅ Signal binding with Enums (type-safe!)
✅ Easily extendable with your own widgets
✅ PyPI installable (pip install GTkinter)
✅ No XML, no Glade, no nonsense
📦 Installation
Make sure you have GTK3 and PyGObject installed on your Linux system:
On Arch-based distros:
sudo pacman -S gtk3 gobject-introspection
On Debian/Ubuntu:
sudo apt install python3-gi gir1.2-gtk-3.0
Then:
pip install GTkinter
🧪 Example
from GTkinter import App, Window, Button, Label, VBox
from GTkinter.enums import Events
app = App()
win = Window("Hello GTkinter", 300, 200)
layout = VBox()
label = Label("Click the button")
btn = Button("Click me")
def on_click(button):
label.set_text("You clicked me!")
btn.connect(Events.CLICKED, on_click)
layout.add(label)
layout.add(btn)
win.set_child(layout)
win.connect(Events.DESTROY, lambda w: exit(0))
app.run(win)
🧠 API Overview
| Component | Description |
|---|---|
App |
Your main GTK application |
Window |
A top-level window |
Button |
A clickable button |
Label |
A text label |
VBox |
Vertical layout container |
HBox |
Horizontal layout container |
Events |
Enum for signal types (clicked, etc.) |
💡 Why GTkinter?
GTK is great. But it’s also:
- Verbose
- Hard to teach
- Ugly without Glade
GTkinter changes that by:
- Wrapping complex APIs in minimal classes
- Making it feel like Tkinter (but better looking)
- Emphasizing readability and flow
🧑💻 Contributing
Pull requests are welcome!
If you have a suggestion or want to extend the widget set, open an issue or PR.
📜 License
MIT License — see LICENSE file.
📎 Related Projects
❤️ Credits
Built with love by @Code-Wizaard
Contributions & stars are appreciated 🌟
Metadata
Release files for GTkinter 0.0.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gtkinter-0.0.2.tar.gz | 42.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gtkinter-0.0.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 72.6 kB
Release files / gtkinter-0.0.2.tar.gz
| Download URL | gtkinter-0.0.2.tar.gz |
|---|---|
| Size | 42.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e95e743d369c3f3eab87ba902ebd66c4784cb0a5a2251e263e28b48583c2fba4
|
|
BLAKE2b-256 checksum How to use checksums |
7a572cc9fbaae52e6a5f5e4969d497bdafc51737c088ea0cefe6991004acd48e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Release files / gtkinter-0.0.2-py3-none-any.whl
| Download URL | gtkinter-0.0.2-py3-none-any.whl |
|---|---|
| Size | 30.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
75218f91b9206513d39b4f287140f4b1b4581bf16738466e73723be411a6a9e2
|
|
BLAKE2b-256 checksum How to use checksums |
ad787f0d973c81511457b4fec37b278292d715a76bea4fefe8fc841f6a0aeb9a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.5
|
Security for GTkinter 0.0.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.