Cross-platform C++/Qt screenshot tool with in-app annotation editing, configurable capture shortcuts, and a CLI and DBus interface.
alfiopuglisi/guietta
A Python library for building simple desktop GUIs with minimal code, built on Qt.
- Stars
- 1,953
- Forks
- 93
- Open issues
- 13
- Last commit
- 12 days ago
What is it?
Guietta lets Python developers build desktop graphical interfaces by describing the layout as nested lists of widgets. Each cell in the list becomes a widget such as a label, text field, or button, and placeholders mark empty grid positions. Event handlers are attached with a simple `with gui.ButtonName:` block, so a small calculator can be written in a few lines.
The library covers common needs beyond basic forms. It integrates matplotlib and pyqtgraph for event-driven plots, can display columns of data in labels from lists and dicts, and supports multiple windows. Exceptions in handlers can be customized, and background processing is available for long-running operations. Any QWidget-derived Qt widget, including custom ones, can be placed in the layout, and standard Qt signals and slots remain usable.
Guietta uses PySide2 by default and can fall back to PyQt5 when PySide2 is unavailable. It is installed with pip, and the project provides documentation on hosting and conda compatibility.
Key features
- 01Describes GUI layouts as nested lists of widgets, with placeholders for empty cells.
- 02Attaches event handlers with a simple `with gui.ButtonName:` block.
- 03Integrates matplotlib and pyqtgraph for event-driven plots.
- 04Supports multiple windows and customizable exception handling.
- 05Accepts any QWidget-derived Qt widget, including custom ones.
Use cases
- Quickly building a small utility such as a calculator or data entry form.
- Adding a simple interactive plot window to a data analysis script.
- Prototyping a desktop interface without learning the full Qt API.
Quick start
- 1
Install guietta with pip
pip install guietta - 2
Create a Python file with the example GUI code and run it with gui.run()
Things to know
- Uses the PySide2 Qt binding by default, which some systems such as older Macs and Raspberry Pi lack, so you may need to install PyQt5 manually.
In collections
Topics
FAQ
- What is guietta?
- A Python library for building simple desktop GUIs with minimal code, built on Qt. Guietta lets Python developers build desktop graphical interfaces by describing the layout as nested lists of widgets. Each cell in the list becomes a widget such as a label, text field, or button, and placeholders mark empty grid positions. Event handlers are attached with a simple `with gui.ButtonName:` block, so a small calculator can be written in a few lines.
- Is guietta free to use? What license does it have?
- guietta is open source under the MIT license. Check the license terms before using it in commercial products.
- Is guietta still maintained?
- Actively maintained. The last commit to guietta was on Oct 27, 2026.
- What can I use guietta for?
- Quickly building a small utility such as a calculator or data entry form. Adding a simple interactive plot window to a data analysis script. Prototyping a desktop interface without learning the full Qt API.
- How do I install guietta?
- Install guietta with pip: pip install guietta Create a Python file with the example GUI code and run it with gui.run()
- Where can I get guietta?
- The source code and installation instructions are on GitHub: https://github.com/alfiopuglisi/guietta
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Python wrapper that simplifies building GUI windows on top of tkinter, Qt, wxPython and Remi with a compact, beginner-friendly API.
A PyQt/PySide widget library that brings Microsoft Fluent Design-style controls to Qt desktop apps.
A Python library for creating frameless PyQt/PySide windows with custom title bars, resizing, and native blur effects on Windows, Linux, and macOS.
A keyboard-driven, vim-like desktop web browser built on Python and Qt, with a minimal GUI.
A Python GUI toolkit built on Dear ImGui that renders on the GPU, with plotting, node editor and drawing APIs.