GUI Applications

Qt

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

PySide

PySide is a Python binding of the cross-platform GUI toolkit Qt.

http://developer.qt.nokia.com/wiki/PySideDownloads/

PyQt

Note

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

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

Cocoa

Note

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

PyObjC

Note

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

wxPython

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

Install (Stable)

Go to http://www.wxpython.org/download.php#stable and download the appropriate package for your OS.

GTk

PyGTK provides Python bindings for the GTK+ toolkit. Like the GTK+ library itself, it is currently licensed under the GNU LGPL. It is worth noting that PyGTK only currently supports the Gtk-2.X API (NOT Gtk-3.0). It is currently recommended that PyGTK not be used for new projects and existing applications be ported from PyGTK to PyGObject.

Tk

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

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

There’s a good multi-language Tk tutorial with Python examples at TkDocs. There’s more information available on the Python Wiki.

Kivy

Kivy is a Python library for development of multi-touch enabled media rich applications. The aim is to allow for quick and easy interaction design and rapid prototyping, while making your code reusable and deployable.

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

Kivy is actively being developed by a community and free to use. It operates on all major platforms (Linux, OSX, Windows, Android).

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

PyjamasDesktop (pyjs Desktop)

PyjamasDesktop is a port of PyJamas. PyjamasDesktop is application widget set for desktop and a cross-platform framework. (After release v0.6 PyjamasDesktop is a part of Pyjamas (Pyjs)). Briefly, it allows the exact same Python web application source code to be executed as a standalone desktop application.

Python Wiki for PyjamasDesktop.

The main website; pyjs Desktop.

Camelot

Camelot provides components for building business applications on top of Python, SQLAlchemy and Qt. It is inspired by the Django admin interface.

You can use Camelot to develop both simple and complex business applications at warp speed.

The main resource for information is the website: http://www.python-camelot.com and the mailinglist https://groups.google.com/forum/#!forum/project-camelot