A tool for making simple Python GUIs

Alfio Puglisi 033c8f90b6 Version 0.5.0 2 weeks ago
.github d980d5c083 Fixed pytest workflow name 3 months ago
docs d9e3f62c40 docs and changelog 2 weeks ago
guietta 033c8f90b6 Version 0.5.0 2 weeks ago
test f0dfb0eb68 Fixed unit test for normalized() 3 weeks ago
.gitignore 8cd289354b added todo and howo files to .gitignore 5 months ago
CHANGELOG.md d9e3f62c40 docs and changelog 2 weeks ago
LICENSE 5aede68eb4 Initial commit 5 months ago
README.md c563983094 Fixed link in README.md 3 months ago
requirements.txt 1447fea3ca Changed QT binding to PySide2, version 0.3.0 5 months ago
setup.py e4a62b07a5 Fixing incompatibilites between GitHub's and PyPI's README format. 5 months ago

README.md

guietta

A tool for making simple Python GUIs

Guietta is a tool that makes simple GUIs simple:

from guietta import _, Gui, Quit
gui = Gui(
	[ "Enter numbers:",  "__a__", "+", "__b__", ["Calculate"] ],
	[    "Result: -->", "result",   _,       _,             _ ],
	[                _,        _,   _,       _,          Quit ]
)

with gui.Calculate:
	gui.result = float(gui.a) + float(gui.b)

gui.run()

And here it is:

Example GUI

Also featuring:

  • matplotlib and pyqtgraph integration, for easy event-driven plots
  • easily display columns of data in labels using lists and dicts
  • multiple windows
  • customizable behaviour in case of exceptions
  • queue-like mode (a la PySimpleGUI)
  • integrate any QT widget seamlessly, even your custom ones (as long as it derives from QWidget, it is OK)
  • easy background processing for long-running operations
  • ordinary QT signals/slots, accepting any Python callable, if you really want to use them

Installation

pip install guietta

If you use conda, please read our page on QT incompatibilities with conda.

Install on older platforms

Guietta uses the PySide2 QT binding by default, and some systems (older Macs, Raspberry PI) do not have it available. Guietta can fallback to the PyQt5 binding if available, but does not specify it as an automatic dependency. If you get an installation error about PySide2, try to use PyQt5 instead using the following:

    pip install guietta --no-deps
    pip install pyqt5

Documentation

Stable version: https://guietta.readthedocs.io/en/stable/

Latest update from github: https://guietta.readthedocs.io/en/latest/

Tests

Documentation Status