A very simple and beginner-friendly GTK wrapper
Project description
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 🌟
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gtkinter-0.0.2.tar.gz.
File metadata
- Download URL: gtkinter-0.0.2.tar.gz
- Upload date:
- Size: 42.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e95e743d369c3f3eab87ba902ebd66c4784cb0a5a2251e263e28b48583c2fba4
|
|
| MD5 |
92bf4fc71b086b93ec7125b7b6032840
|
|
| BLAKE2b-256 |
7a572cc9fbaae52e6a5f5e4969d497bdafc51737c088ea0cefe6991004acd48e
|
File details
Details for the file gtkinter-0.0.2-py3-none-any.whl.
File metadata
- Download URL: gtkinter-0.0.2-py3-none-any.whl
- Upload date:
- Size: 30.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
75218f91b9206513d39b4f287140f4b1b4581bf16738466e73723be411a6a9e2
|
|
| MD5 |
42f5848d2ff454f926d244b61884e66c
|
|
| BLAKE2b-256 |
ad787f0d973c81511457b4fec37b278292d715a76bea4fefe8fc841f6a0aeb9a
|