Size: 14860
Comment: update link
|
Size: 14984
Comment: update and add direct links
|
Deletions are marked like this. | Additions are marked like this. |
Line 31: | Line 31: |
||[[OcempGUI]] ||Pygame ||A small GUI toolkit written in Python based on Pygame. Provides accessibility support. || | ||[[|https://sourceforge.net/projects/ocemp/files/ocempgui/|OcempGUI (Ocean Empire GUI)]] ||Pygame ||A small GUI toolkit written in Python based on Pygame. Provides accessibility support. [[https://ocemp.sourceforge.net/gui.html|Website]] || |
GUI Programming in Python
Python has a huge number of GUI frameworks (or toolkits) available for it, from Tkinter (traditionally bundled with Python, using Tk) to a number of other cross-platform solutions, as well as bindings to platform-specific (also known as "native") technologies.
GUI Programming in Python is a similar page whose content could arguably complement this page with some editing.
Cross-Browser Frameworks
Package |
Target |
Notes |
All major Web Browsers |
Comprehensive Widget toolkit, Python-to-Javascript compiler and AJAX library. Provides the "V" in MVC. See also PyjamasDesktop |
Cross-Platform Frameworks
The major cross-platform technologies upon which Python frameworks are based include Gtk, Qt, Tk and wxWidgets, although many other technologies provide actively maintained Python bindings.
Package |
Target |
Notes |
Linux / many |
Fully automatic, live connection among graphical interface widgets and application variables. |
|
Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit |
||
Tk |
EasyGUI is a module for very simple, very easy GUI programming in Python. |
|
Qt |
A tiny Python module for creating form dialogs/widgets to edit various type of parameters with having to write any GUI code |
|
Gnome |
Gnome Platform bindings: bonobo, bonoboui, gconf, gnome, gnomecanvas, gnomevfs, gnomeui |
|
GnomePythonDesktop |
Gnome |
Gnome Desktop bindings: metacity, nautilus, gnomeprint, gtksourceview, gtop, media-profiles, totem, wnck |
GnomePythonExtras |
Gnome |
Additional Gnome bindings: libegg, gda, gtkmozembed, gtkspell, gksu, gdl, gtkhtml2 |
Both a framework and visual tools: GUI Designer, Inspector and Property Editor. Supports Python 2.5 to Python 3.2; wxPython 2.8 "stable", 2.9 "classic" and "phoenix" (py3k). Features advanced pythonic MVC controls (ListView, GridView, TreeView) using list- and dict-like objects; masked and date picker controls; common dialogs; fluid layout using sizers & basic HTML; simplified event model (similar to JavaScript). Can include wxPython code in apps. Modern PythonCard "fork" hugely enhanced. |
||
Qt |
Based on the Qt Python binding module PyQt4, guidata is a Python library generating graphical user interfaces for easy dataset editing and display. It also provides helpers and application development tools for PyQt4. |
|
.NET/Mono |
Python for (originally MS') .NET platform. See https://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython for more info. |
|
Java |
Jython is an implementation of the high-level, dynamic, object-oriented language Python seamlessly integrated with the Java platform. Jython website |
|
Windows, MacOSX, Linux, Android, iOS |
OpenGL ES accelerated framework for creating new user interfaces. Kivy have a native multitouch support for every platform, mouse simulator, widgets multitouch ready, integrated virtual keyboard, rst renderer... |
|
Windows, MacOS, Linux |
Not strictly a GUI toolkit, but a high-level multimedia framework that allows construction of media-rich guis. |
|
XUL (many) |
Nufox is a python, XUL toolkit written ontop of the Twisted Networking Framework and Nevow. The idea is that you should be able to write server-side cross platform XUL applications without writing XUL markup, with little javascript, all from the comfort of Python. |
|
many |
GUI library. Python only "pythonic javax.swing". Model/View/Controller, skinning. |
|
[[|https://sourceforge.net/projects/ocemp/files/ocempgui/|OcempGUI (Ocean Empire GUI)]] |
Pygame |
A small GUI toolkit written in Python based on Pygame. Provides accessibility support. Website |
supports Windows/Unix/Mac and provides access to OpenGL features. Stands for Fast, Light Toolkit. |
||
Primarily an introduction to game programming. Only supports one window. |
||
Windows, MacOS, Linux |
Alpha stage cross-platform windowing and multimedia library that heavily uses OpenGL. |
|
Gtk |
Bindings for pango, atk, gtk and libglade. Good documentation from the Gtk Project. Wrapper uses some C programming style |
|
GObject Introspection |
Pure Python GObject Introspection Repository (GIR) wrapper using ctypes. Supported CPython >= 2.6, CPython 3.x, PyPy >= 1.4.0, and on all platforms where gobject introspection is supported. |
|
Tkinter |
PyGtk to Tkinter Wrapper runs PyGtk based code unchanged using Tkinter (Tk). |
|
Cocoa / Gtk / Win32 |
Abstract, pythonic API encapsulating different platforms. Runs on GNU/Linux, MacOSX, & MS Windows. |
|
Many |
Comprehensive Widget toolkit that uses PyWebkitGtk to do the heavy lifting. Provides the "V" in MVC. See also Pyjamas |
|
Qt / KDE |
Python wrappers for the KDE libraries |
|
OpenGL, all platform |
Python framework for doing multitouch GUI / Application (Deprecated, in favor of Kivy) |
|
PyPicoGUI |
python library is included in the main PicoGUI release |
|
Qt |
Python bindings for the Qt application development framework |
|
Qt |
The PySide project provides LGPL-licensed Python bindings for the Qt cross-platform application and UI framework. |
|
PySWT |
SWT |
PySWT is a Python Binding to the IBM Eclipse SWT library, to provide Python with a cross platform native looking GUI, see https://www.cs.nyu.edu/zilin/pyswt/pmwiki.php?n=PySWT.Introduction |
Easy to use framework and GUI builder. Can include wxPython code in PythonCard apps PythonCard tutorial videos at ShowMeDo |
||
Web Browsers |
PyWebkitGtk is a Python Binding to webkit, including DOM model manipulation, Javascript execution, plugin support (e.g. Flash) and (on the TODO list) SVG Canvas support, for extremely powerful and comprehensive applications development. See PyjamasDesktop for an easy-to-use API. |
|
OpenGL |
Specialized GUI Toolkit for generating GUIs for OpenGL programs. |
|
OLPC XO with Linux |
User interface for collaborative educational software |
|
Tk |
Python's "standard" GUI library |
|
Tk extension |
TkZinc is a extension of the Tk Canvas, with transparency, gradient, transformations |
|
many |
The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization. |
|
A wrapper to WxPython, easier and more "pythonic" |
||
supports Windows/Unix/Mac for now - visit https://www.wxwidgets.org, wxPython tutorial videos at ShowMeDo on writing a graphical application |
||
XGui |
XGui is a cross-platform widget set with C,C++ and Python bindings. Actually supports *nix over Gtk and Windows over Win32 |
Inactive/Unmaintained
Package |
Target |
Notes |
many |
("Anygui is no longer being actively developed or supported.") single source code runs on many GUI back-ends, including many in this table, plus ncurses |
|
FXPy |
FOX |
Last released 2002; presumed dead. |
Lucid |
Windows, GTK, MacOS |
(No known link as of April 2013.) An abstraction layer and clever layout engine that uses the native GUI widgets of each operating system. Previously known as "Claro Framework." |
Platform-specific Frameworks
Package |
Target |
Notes |
BeOS |
|
|
MacOS |
Supports both OSX and OS9 |
|
MacOSX |
Supports Cocoa Aqua GUIs on the Mac |
|
MorphOS |
MagicUserInterface wrapper for Python. Support for MorphOS 2.x. |
|
Windows |
A free GUI implementation of IronPython with the same interface as Visual Studio. |
|
Windows |
Venster is a highly native Windows GUI toolkit for Python based on the ctypes ffi library. The aim of Venster is to be a very lightweight wrapper around the standard Win32 API, making it easy to write slick windows applications in pure Python. |
|
Windows |
Also known by the names of its components: PythonWin (for the UI), Win32Com (for COM/ActiveX), Win32 (for some other parts of the API) |
GUI Design Tools and IDEs
IDE |
Target |
Notes |
Automagically creates GUI applications from Glade GUI definition, GPL |
||
Commercial, $50-400 |
||
GPL, Alpha, looks rather dead |
||
GPL |
||
Freeware. Open-Source. Support wxRuby & wxPerl aswell. |
||
Visual GUI Designer, Inspector and Property Editor (embeddable). PythonCard "fork". LGPL3. |
||
GPL |
||
GPL |
||
GUI engine with integrated GUI builder. Need Alpha testers. |
||
Windows Application |
A free GUI implementation of IronPython with the same interface as Visual Studio. |
|
Commercial |
||
MacOS X |
Mac app for creating 2D visuals using Python programming code. |
|
Tkinter, Tix |
GUI editor for Windows and Linux |
|
GPL TkInter GUI builder (exports XML ".ui" files) and RAD tool inspired by Glade. |
||
Windows |
An OpenSource IDE developed using Python and Delphi |
|
Python License. Alpha. |
||
Windows/Linux/Mac |
An interactive environment for python, suitable for interactive GUI programming with different GUI toolkits (wxPython, TkInter, pyGTK, pyQT4 and PySide) |
|
PythonWorks is no longer being developed. They still support their existing customers, but licenses are no longer available to new customers. |
||
Rapid Application Development platform for python (including editor, debugger, visual designer, unit tests, etc.). GPLv3. Alpha. |
||
Tkinter |
Tkinter Rapid Application Development and XML widget builder |
|
A form design tool, available with both Commercial and GPL editions of Qt. Can be used with Eric3 and Eric4. |
||
Commercial Student EUR 29, Single user EUR 129 |
||
GPL cross-platform WYSIWYG GUI builder. Can produce XRC/XML, wxWidgets/C++, or wxPython/python. |
||
MIT License, Alpha. |
||
Python Tkinter |
GUI, class browser, file manager, with code completion. Licensed under the GPL. |
|
Tkinter |
Visual Tkinter IDE for Python 2.6 |
|
Tkinter |
Visual Python IDE for Python 2.6 |
Links
CameronLaird's personal notes on Python GUIs https://phaseit.net/claird/comp.lang.python/python_GUI.html includes over 25 links to toolkits and techniques for connecting python with a GUI.
Opendocs previously had some material on Qt programming with Python for on-line reading, but ownership of the domain appears to have lapsed. An online version of Boudewijn Rempt's book about PyQt for Qt 3, GUI Programming with Python: QT Edition, is still available. An up-to-date book covering PyQt4, Rapid GUI Programming with Python and Qt by Mark Summerfield, is now available in print and as an online "rough cut". More details can be found on the PyQt Wiki.
https://www.awaretek.com/toolkits.html - Choose Your GUI Toolkit: Find Your GUI Toolkit for Python based on your preferences. Quick cgi application which helps you make a choice. See also Python City.
https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Python - Wikipedia article describing several IDE's and GUI Builders.
Editorial Notes
The above lists should be arranged in ascending alphabetical order - please respect this when adding new frameworks or tools.
Currently, this section is rather incomplete. Don't be too disappointed if you can't find the information you need, but please add any information you can contribute. It might be useful to have information about the GUIs and development tools in a fixed format to make them more easily comparable (see WebProgrammingTemplate and WebProgrammingTemplateHelp). Some categories: directly supported widgets, add-on widgets, layout managers, etc. Maybe it could answer the questions in ChoosingGuiToolkits for each toolkit.