GUI Applications

../_images/33907143624_cd621b535c_k_d.jpg

Alphabetical list of GUI Applications.

Camelot

Camelot provides components for buildingapplications on top of Python, SQLAlchemy, and Qt. It is inspired by the Djangoadmin interface.

The main resource for information is the website:http://www.python-camelot.comand the mailing listhttps://groups.google.com/forum/#!forum/project-camelot.

Cocoa

Nota

The Cocoa framework is only available on OS X. Don’t pick this if you’re writing a cross-platform application!

GTk

Nota

PyGTK provides Python bindings for the GTK+ toolkit. However, it has been superseded by PyGObject. PyGTK should not be used for new projects and existing projects should be ported to PyGObject.

PyGObject aka (PyGi)

PyGObject provides Pythonbindings which gives access to the entire GNOME software platform. It is fullycompatible with GTK+ 3. Here is a tutorial to get started withPython GTK+ 3Tutorial.

API Reference

Kivy

Kivy is a Python library for development of multi-touchenabled media rich applications. The aim is to allow for quick and easyinteraction design and rapid prototyping, while making your code reusable anddeployable.

Kivy is written in Python, based on OpenGL, and supports different input devicessuch as: Mouse, Dual Mouse, TUIO, WiiMote, WM_TOUCH, HIDtouch, Apple’s products,and so on.

Kivy is actively being developed by a community and is free to use. It operateson all major platforms (Linux, OS X, Windows, Android).

The main resource for information is the website:http://kivy.org

PyObjC

Nota

Only available on OS X. Don’t pick this if you’re writing a cross-platform application.

PySide

PySide is a Python binding of the cross-platform GUI toolkit Qt.The package name depends on the major Qt version (PySide for Qt4,PySide2 for Qt5, andPySide6 for Qt6).This set of bindings is developed byThe Qt Company.

$ pip install pyside6

https://pyside.org

PyQt

Nota

If your software does not fully comply with the GPL you will need a commercial license!

PyQt provides Python bindings for the Qt Framework (see below).

http://www.riverbankcomputing.co.uk/software/pyqt/download

Pyjs Desktop (formerly Pyjamas Desktop)

Pyjs Desktop is a application widget set for desktop and a cross-platformframework. It allows the exact same Python web application source code to beexecuted as a standalone desktop application.

The main website:pyjs.

Qt

Qt is a cross-platform application framework that iswidely used for developing software with a GUI but can also be used for non-GUIapplications.

PySimpleGUI

PySimpleGUI is a wrapper for Tkinterand Qt (others on the way). The amount of code required to implement customGUIs is much shorter using PySimpleGUI than if the same GUI were writtendirectly using Tkinter or Qt. PySimpleGUI code can be “ported” between GUIframeworks by changing import statements.

$ pip install pysimplegui

PySimpleGUI is contained in a single PySimpleGUI.py file. Should pipinstallation be impossible, copying the PySimpleGUI.py file into a project’sfolder is all that’s required to import and begin using.

Toga

Toga is a Python native, OS native,cross platform GUI toolkit. Toga consists of a library of base components with ashared interface to simplify platform-agnostic GUI development.

Toga is available on macOS, Windows, Linux (GTK), and mobile platforms such asAndroid and iOS.

Tk

Tkinter is a thin object-oriented layer on top of Tcl/Tk.It has the advantageof being included with the Python standard library, making it the mostconvenient and compatible toolkit to program with.

Both Tk and Tkinter are available on most Unix platforms, as well as on Windowsand Macintosh systems. Starting with the 8.0 release, Tk offers native look andfeel on all platforms.

There’s a good multi-language Tk tutorial with Python examples atTkDocs. There’s more informationavailable on thePython Wiki.

wxPython

wxPython is a GUI toolkit for the Python programming language. It allows Pythonprogrammers to create programs with a robust, highly functional graphical userinterface, simply and easily. It is implemented as a Python extension module(native code) that wraps the popular wxWidgets cross platform GUI library, whichis written in C++.

Install (Stable) wxPythongo to https://www.wxpython.org/pages/downloads/ and download the appropriatepackage for your OS.