Differences between revisions 1 and 323 (spanning 322 versions)
Revision 1 as of 2002-07-12 22:29:50
Size: 226
Editor: anonymous
Comment: missing edit-log entry for this revision
Revision 323 as of 2014-03-30 00:20:49
Size: 20618
Comment: PyGtk
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Some available GUI's for Python: #acl AdminGroup:read,write,delete,revert,admin Known:read,write All:read
= 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.
Line 3: Line 5:
TkInter {{{#!wiki note
[[GUI Programming in Python]] is a similar page whose content could arguably complement this page with some editing.
}}}
== Cross-Browser Frameworks ==
||'''Package''' ||'''Target''' ||Latest version ||Latest update date ||'''Notes''' ||
||PyJamas ||All major Web Browsers ||0.8 ||2012-06-01 ||Comprehensive Widget toolkit, Python-to-Javascript compiler and AJAX library. Provides the "V" in MVC. Note PyjamasDesktop was merged into pyjamas. ||
Line 5: Line 12:
WxWindows
Line 7: Line 13:
PyQt == 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''' ||Latest version ||Latest update date ||'''Notes''' ||
||[[http://avc.inrim.it/|AVC]] ||Linux / many ||0.8.3 ||2011-02-15 ||Fully automatic, live connection among graphical interface widgets and application variables. ||
||[[http://dabodev.com/|Dabo]] ||WxPython ||0.9.12 ||2013-06-12 ||Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit ||
||[[https://code.google.com/p/formlayout/|formlayout]] ||Qt ||1.0.15 ||2013-08-27 ||A tiny Python module for creating form dialogs/widgets to edit various type of parameters with having to write any GUI code ||
||GnomePython ||Gnome ||2.28.1 ||2010-03-31 ||Gnome Platform bindings: bonobo, bonoboui, gconf, gnome, gnomecanvas, gnomevfs, gnomeui ||
||!GnomePythonDesktop ||Gnome ||2.32.0 ||2010-09-28 ||Gnome Desktop bindings: metacity, nautilus, gnomeprint, gtksourceview, gtop, media-profiles, totem, wnck ||
||!GnomePythonExtras ||Gnome ||2.25.3 ||2009-02-15 ||Additional Gnome bindings: libegg, gda, gtkmozembed, gtkspell, gksu, gdl, gtkhtml2 ||
||[[https://code.google.com/p/gui2py/|gui2py]] ||WxPython (WxWidgets) ||0.9.3 ||2013-08-26 ||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. ||
||[[https://pythonhosted.org/guidata/|guidata]] ||Qt ||1.6.1 ||2013-06-17 ||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. ||
||[[http://ironpython.codeplex.com/|IronPython]] ||.NET/Mono ||2.7.4 ||2013-09-07 ||Python for (originally MS') .NET platform. See IronPython for more info. ||
||[[http://www.jython.org/|Jython]] ||Java ||2.5.4rc1 ||2013-02-10 ||Jython is an implementation of the high-level, dynamic, object-oriented language Python seamlessly integrated with the Java platform. See [[Jython]] ||
||[[http://kivy.org/|Kivy]] ||Windows, MacOSX, Linux, Android, iOS ||1.8.0 ||2014-01-30 ||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... ||
||[[http://www.libavg.de/|libavg]] ||Windows, MacOS, Linux ||1.8.0 ||2014-02-15 ||Not strictly a GUI toolkit, but a high-level multimedia framework that allows construction of media-rich guis. ||
||[[http://sourceforge.net/projects/pyfltk/|PyFltk]] ||[[FLTK]] ||1.3.1 ||2012-02-19 ||supports Windows/Unix/Mac and provides access to OpenGL features. Stands for Fast, Light Toolkit.(Python 2 & 3) ||
||[[http://pygame.org/|PyGame]] ||PyGame ||1.9.1 ||2009-08-06 ||Primarily an introduction to game programming. Only supports one window.(Python 2 & 3) ||
||[[https://code.google.com/p/pyglet/|Pyglet]] ||Windows, MacOS, Linux ||1.2alpha1 ||2012-07-13 ||Alpha stage cross-platform windowing and multimedia library that heavily uses OpenGL. ||
||[[https://wiki.gnome.org/action/show/Projects/PyGObject|PyGObject]]|| Gtk? || 3.10.2 || 2013-11-1 || PyGObject (aka PyGI). Python Bindings for GLib/GObject/GIO/GTK+. '''Replacement for PyGtk'''. See [[PyGobject]] ||
||[[http://www.pygtk.org/|PyGtk]]|| Gtk || 2.24.0 || 2011-04-01 || See [[PyGtk]]. Bindings for pango, atk, gtk and libglade. Good documentation from the [[http://www.gtk.org/documentation.php|Gtk Project]]. Wrapper uses some C programming style '''Note: New users are encouraged to use GTK+3 through the [[https://live.gnome.org/PyGObject|PyGObject bindings]] instead of using PyGTK with GTK+2. Windows users may still want to keep using PyGTK until more convenient installers are published.'''||
||[[http://code.google.com/p/pygir-ctypes/|pygir-ctypes]] ||GObject Introspection ||0.1.1 ||2011-03-29 ||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. ||
||[[http://code.google.com/p/pygtk2tk/|PyGtk2Tk]] ||TkInter ||0.2.0 ||2008-09-19 ||PyGtk to TkInter Wrapper runs PyGtk based code unchanged using TkInter (Tk). Python 2 only ||
||[[http://www.cosc.canterbury.ac.nz/greg.ewing/python_gui/|PyGUI]] ||Cocoa / Gtk / Win32 ||2.5.3 ||2011-07-16 ||Abstract, pythonic API encapsulating different platforms. ||
||PyjamasDesktop ||Many || || ||Comprehensive Widget toolkit that uses [[http://code.google.com/p/pywebkitgtk/|PyWebkitGtk]] to do the heavy lifting. Provides the "V" in MVC. Note PyjamasDesktop was merged into Pyjamas. ||
||[[http://sourceforge.net/projects/pykde/|PyKDE]] ||Qt / KDE || || ||Python wrappers for the [[http://www.kde.org/|KDE]] libraries. See [[PyKDE]] ||
||[[http://sourceforge.net/projects/pyqt/|PyQt]] ||Qt ||5.2 ||2014-01-07 ||Python bindings for the [[http://www.trolltech.com/products/qt/|Qt]] application development framework(Python 2 & 3) ||
||[[http://www.pyside.org/|PySide]] ||Qt ||1.2.1 ||2013-08-16 ||The PySide project provides licensed Python bindings for the [[http://www.trolltech.com/products/qt/|Qt]] cross-platform application and UI framework. ||
||PyWebkitGtk ||Web Browsers ||1.1.8 ||2010-08-07 ||PyWebkitGtk is a Python Binding to [[http://webkit.org|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. ||
||[[http://wiki.laptop.org/go/Sugar|Sugar]] ||OLPC XO with Linux ||0.98.5 ||2013-03-08 ||User interface for collaborative educational software ||
||TkInter ||Tk ||TK version varies by Python release and platform || ||Python's "standard" GUI library ([[http://docs.python.org/2/library/tkinter.html|Python 2 Docs]], [[http://docs.python.org/3.3/library/tkinter.html|Python 3 Docs]]) [[http://www.tkdocs.com/tutorial/install.html|A version of Tk 8.5 or greater, is required to use ttk]] (Also see [[http://bugs.python.org/issue20565 |Issue20565]])||
||[[http://code.enthought.com/projects/traits_ui/|Traits/TraitsUI]] ||Qt or Wx on Windows, MacOS, Linux||4.0.0 ||2013-12-03 || The Traits/TraitsUI package offers the ability to build scalable and cross-platforms GUIs simply by focusing on the model being viewed, and offering default widgets for various types of objects. It abstracts away the implementation, which can currently use PyQt, Pyside or WxPython. In the simplest case, it can automatically generate a user interface for editing a (Traits-based) object, with no additional coding on the part of the programmer-user. In more sophisticated uses, it can implement a Model-View-Controller (MVC) design pattern for Traits-based objects. ||
||[[http://www.vtk.org/|VTK]] ||many ||6.1.0 ||2014-01-22 ||The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization. ||
||[[http://sourceforge.net/projects/waxgui/|Wax]] ||WxWidgets ||0.3.33 ||2006-03-17 ||A wrapper to WxPython, easier and more "pythonic" ||
||[[http://www.wxpython.org/|WxPython]] ||WxWidgets ||3.0.0.0 ||2013-12-25 ||Supports Windows/Unix/Mac. See WxPython ||
Line 9: Line 48:
FlTk === Inactive/Unmaintained ===
||'''Package''' ||'''Target''' ||Latest version ||Latest update date ||'''Notes''' ||
||[[http://sourceforge.net/projects/anygui/|AnyGui]] ||many ||0.1.1 ||2002-02-08 ||('''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 ||
||[[http://fxpy.sourceforge.net/|FxPy]] ||FOX ||1.0.5 ||2002-04-02 ||FXPy is a Python extension module that provides an interface to the cross-platform FOX GUI library. '''It is no longer under development, but the last release is compatible with FOX 1.0 and Python 2.2.''' ||
||[[https://web.archive.org/web/20071010020943/http://www.lucidtoolkit.org/|Lucid]] ||Windows, GTK, MacOS ||0.1 ||SVN only ||('''Original website gone''') An abstraction layer and clever layout engine that uses the native GUI widgets of each operating system. Previously known as "[[https://web.archive.org/web/20070127132243/http://www.clarographics.org/|Claro Framework.]]" / Copy on Github https://github.com/theojulienne/lucid/tree/master/trunk ||
||[[http://easygui.sourceforge.net/|EasyGui]] ||Tk ||0.96 ||2010-08-29 ||('''Effective March 6, 2013 EasyGui project is now closed''') EasyGUI is a module for very simple, very easy GUI programming in Python. ||
||TkZinc ||Tk extension ||3.2.2 ||2005-06-18 ||TkZinc is a extension of the Tk Canvas, with transparency, gradient, transformations ('''Inactive website gone''') ||
||[[http://www.cs.nyu.edu/zilin/pyswt/pmwiki.php?n=PySWT.Introduction|PySWT]] ||SWT ||0.0.3 ||2005-06-28 ||PySWT is a Python Binding to the IBM Eclipse SWT library, to provide Python with a cross platform native looking GUI. (Python 2.4) ('''Not active: last update for page was 2005''')||
||[[http://sourceforge.net/projects/ocemp/files/ocempgui/|OcempGUI(Ocean Empire GUI)]] ||Pygame ||0.2.9 ||2008-05-10 ||A small GUI toolkit written in Python based on Pygame. Provides accessibility support. [[http://ocemp.sourceforge.net/gui.html|Website]] ('''Not active: last updated 2008''')||
||[[http://nufox.berlios.de/|Nufox]] ||XUL (many) ||0.1.0 ||2005-10-13 ||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. (Python 2.3 or 2.4) ('''Not active: last update 2005''')||
||PyUi ||OpenGL ||1.0 ||2003-08-17 ||Specialized GUI Toolkit for generating GUIs for OpenGL programs. (Python 2.2) ('''Not active: last update 2003''')||
||[[http://pythoncard.sourceforge.net/|PythonCard]] ||WxWidgets ||0.8.2 ||2006-05-22 ||Easy to use framework and GUI builder. Can include wxPython code in PythonCard apps [[http://showmedo.com/videotutorials/series?name=LIIBqnWDo|PythonCard tutorial videos]] at ShowMeDo ('''Not active: last update 2006''')||
||[[http://pymt.eu/|PyMT]] ||OpenGL, all platform ||0.5.1 ||2010-09-06 ||Python framework for doing multitouch GUI / Application (Deprecated, in favor of Kivy) ||
||[[http://sourceforge.net/projects/xgui/|XGui]] ||XGui ||?SVN? ||2008-03-02 ||XGui is a cross-platform widget set with C,C++ and Python bindings. Actually supports *nix over Gtk and Windows over Win32 ('''Code not touched since 2008''')||
||PyPicoGUI ||[[http://picogui.org/|PicoGUI]] ||0.46 ||2003-11-18 ||python library is included in the main PicoGUI release ('''Website doesn't indicate activity since 2004''') ||
Line 11: Line 64:
FoxGui
Line 13: Line 65:
Some available GUI development tools: == Platform-specific Frameworks ==
||'''Package''' ||'''Target''' ||Latest version ||Latest update date ||'''Notes''' ||
||BeThon ||BeOS ||0.5.4 ||? ||Port of Python 2.6 to BeOS, as well as the Bethon BeOS API interface library. See http://bebits.com/app/1564 ||
||[[http://homepages.cwi.nl/~jack/macpython/|MacPython]] ||MacOS ||2.3.3 ||2004-04-02 ||Supports both OSX and OS9. See MacPython ||
||[[http://pyobjc.sourceforge.net/|PyObjC]] ||MacOSX || || ||Supports Cocoa Aqua GUIs on the Mac ||
||[[https://bitbucket.org/yomgui/pymui|PyMUI]] ||MorphOS ||0.7.0 ||2013-12-27 ||LGPL !MagicUserInterface wrapper for Python. Support for MorphOS 2.x.(Python 2.7) ||
||[[http://www.codeplex.com/IronPythonStudio|IronPython Studio]] ||Windows ||1.0 ||2007-12-10 ||A free GUI implementation of IronPython with the same interface as Visual Studio. ||
||[[http://sourceforge.net/projects/venster/|venster]] ||Windows ||0.72 ||2004-12-25 ||[[venster|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. ||
||Win32All ||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) ||
||[[http://sourceforge.net/projects/ocean/|Ocean]] || Windows ||0.2.3-r97 ||2007-04-02 ||GUI library. Python only "pythonic javax.swing". Model/View/Controller, skinning. ||
Line 15: Line 76:
WingIde == GUI Design Tools and IDEs ==
||'''IDE''' ||'''Target''' ||Latest version ||Latest update date ||'''Notes''' ||
||[[http://autoglade.sf.net/|Autoglade]] ||PyGtk ||0.5 ||2009-07-27 ||Automagically creates GUI applications from [[http://glade.gnome.org/|Glade]] GUI definition, GPL ||
||[[http://www.thekompany.com/products/blackadder/|BlackAdder]] ||PyQt ||1.0 ||2003-09-11 ||Commercial ('''Inactive Website, Demo copy can be found at''' https://archive.org/details/tucows_332773_BlackAdder ) ||
||[[http://sourceforge.net/projects/boa-constructor/|BoaConstructor]] ||WxPython ||0.6.1 ||2007-07-05 ||GPL A RAD GUI Building IDE for wxPython. See BoaConstructor ||
||[[http://eric-ide.python-projects.org/|The Eric Python IDE]] ||PyQt ||5.4.2 ||2014-03-09 ||GPL. a full featured Python and Ruby editor and IDE, integrating the highly flexible Scintilla editor control.(Python 2 & 3 versions) ||
||[[http://sourceforge.net/projects/farpyguie/|FarPy GUIE]] ||WxPython ||0.5.5 ||2007-04-14 ||GPL. Supports wxPython, wxRuby, wxPerl & IronPython! ||
||[[https://code.google.com/p/gui2py/|gui2py]] ||WxPython || || ||Visual GUI Designer, Inspector and Property Editor (embeddable). PythonCard "fork". LGPL3. ||
||[[http://ftp.gnome.org/pub/GNOME/sources/gazpacho/0.7/|Gazpacho]] ||PyGtk ||0.7.2 ||2007-07-29 ||GPL. Create a Graphical User Interface (GUI) for your GTK+ program in a visual way. ||
||[[http://glade.gnome.org/|Glade]] ||PyGtk ||3.16.1 ||2013-12-18 ||GPL. Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment. ||
||[[lwickjr/Modules/|GWiz]] ||[[Tix]] || || ||GUI engine with integrated GUI builder. '''File gone was on lwickjr's python wiki page''' ||
||[[http://www.codeplex.com/IronPythonStudio|IronPython Studio]] ||Windows Application || || ||A free GUI implementation of IronPython with the same interface as Visual Studio. ||
||[[http://www.activestate.com|Komodo]] ||TkInter || || ||Commercial ||
||[[http://nodebox.net/|NodeBox]] ||MacOSX, Win, Linux ||3.0.38 ||2014-01-24 ||App to creating 2D visuals using Python programming code. ||
||[[http://page.sourceforge.net/|PAGE]] ||TkInter, Tix ||4.2.1 ||2014-02-21 ||GUI editor for Windows, Mac and Linux. ||
||[[https://github.com/alejandroautalan/pygubu|pygubu]] ||TkInter ||0.9.2 ||2013-11-05 ||GPL TkInter GUI builder (exports XML ".ui" files) and RAD tool inspired by Glade. ||
||[[http://code.google.com/p/pyscripter/|PyScripter]] ||Windows ||2.5.1 ||20120319 ||MIT Open Source IDE developed using Python and Delphi. See PyScripter.(Python 2 & 3) ||
||[[http://pythoncard.sourceforge.net/|PythonCard]] ||WxWidgets ||0.8.2 ||2006-05-22 ||Easy to use framework and GUI builder. Can include wxPython code in PythonCard apps [[http://showmedo.com/videotutorials/series?name=LIIBqnWDo|PythonCard tutorial videos]] at ShowMeDo ||
||[[http://pythontoolkit.sourceforge.net/|PythonToolkit (PTK)]] ||Windows/Linux/Mac ||13.01 ||2013-03-07 ||An interactive environment for python, suitable for interactive GUI programming with different GUI toolkits (wxPython, TkInter, pyGTK, pyQT4 and PySide) ||
||[[https://web.archive.org/web/20131520194000/http://www.pythonware.com/products/works/|PythonWorks]] ||TkInter ||1.3 ||2002/11/25 ||PythonWorks is no longer being developed. Existing customers still supported, but no new licenses are available to new customers. ||
||[[https://code.google.com/p/rad2py/|rad2py]] ||[[https://code.google.com/p/gui2py/|gui2py]] & WxPython || || ||Rapid Application Development platform for python (including editor, debugger, visual designer, unit tests, etc.). GPLv3. Alpha. ||
||[[https://github.com/tarball69/tkRAD|tkRAD]] ||TkInter ||1.4.1 ||2014-03-12 ||TkInter Rapid Application Development and XML widget builder ||
||[[http://www.trolltech.com/products/qt/features/designer|Qt Designer]] ||PyQt || || ||A form design tool, available with both Commercial and GPL editions of Qt. Can be used with Eric3 and Eric4. ||
||WxDesigner ||WxPython || || ||Commercial Student EUR 29, Single user EUR 129 ||
||[[http://wxformbuilder.org/|WxFormBuilder]] ||WxPython || || ||GPL cross-platform WYSIWYG GUI builder. Can produce XRC/XML, wxWidgets/C++, or wxPython/python. ||
||[[http://wxglade.sourceforge.net/|WxGlade]] ||WxPython ||0.6.8 ||2013-07-13 ||MIT License, wxGlade is a GUI designer written in Python with the popular GUI toolkit wxPython, that helps you create wxWidgets/wxPython user interfaces.. See WxGlade ||
||[[http://sourceforge.net/projects/xrope/|xRope]] ||TkInter ||1.4.4 ||2008-07-29 ||GPL. GUI, class browser, file manager, with code completion. ||
||[[http://sourceforge.net/projects/visualtkinter/|Visual Tkinter IDE]] ||TkInter ||1.28 ||2010-04-18 ||Visual Tkinter IDE for Python 2.6 ||
||[[http://sourceforge.net/projects/visualtkinter/|Visual Python IDE]] ||TkInter ||0.12.2554 ||2010-11-02 ||Visual Python IDE for Python 2.6 ||
Line 17: Line 106:
TkinterIdle
Line 19: Line 107:
BoaConstructor == Links ==
CameronLaird's personal notes on Python GUIs http://phaseit.net/claird/comp.lang.python/python_GUI.html includes over 25 links to toolkits and techniques for connecting python with a GUI.
Line 21: Line 110:
BlackAdder 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, [[http://www.commandprompt.com/community/pyqt/|GUI Programming with Python: QT Edition]], is still available. An up-to-date book covering PyQt4, [[http://www.qtrac.eu/pyqtbook.html|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 [[http://www.diotavelli.net/PyQtWiki/Books|PyQt Wiki]].
Line 23: Line 112:
PythonWorks http://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 [[http://awaretek.com/plf.html|Python City]].
Line 25: Line 114:
PythonCard http://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments#Python - Wikipedia article describing several IDE's and GUI Builders.
Line 27: Line 116:
WxDesigner == 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.
----
[[CategoryPyGUI]]

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

Latest version

Latest update date

Notes

PyJamas

All major Web Browsers

0.8

2012-06-01

Comprehensive Widget toolkit, Python-to-Javascript compiler and AJAX library. Provides the "V" in MVC. Note PyjamasDesktop was merged into pyjamas.

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

Latest version

Latest update date

Notes

AVC

Linux / many

0.8.3

2011-02-15

Fully automatic, live connection among graphical interface widgets and application variables.

Dabo

WxPython

0.9.12

2013-06-12

Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit

formlayout

Qt

1.0.15

2013-08-27

A tiny Python module for creating form dialogs/widgets to edit various type of parameters with having to write any GUI code

GnomePython

Gnome

2.28.1

2010-03-31

Gnome Platform bindings: bonobo, bonoboui, gconf, gnome, gnomecanvas, gnomevfs, gnomeui

GnomePythonDesktop

Gnome

2.32.0

2010-09-28

Gnome Desktop bindings: metacity, nautilus, gnomeprint, gtksourceview, gtop, media-profiles, totem, wnck

GnomePythonExtras

Gnome

2.25.3

2009-02-15

Additional Gnome bindings: libegg, gda, gtkmozembed, gtkspell, gksu, gdl, gtkhtml2

gui2py

WxPython (WxWidgets)

0.9.3

2013-08-26

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.

guidata

Qt

1.6.1

2013-06-17

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.

IronPython

.NET/Mono

2.7.4

2013-09-07

Python for (originally MS') .NET platform. See IronPython for more info.

Jython

Java

2.5.4rc1

2013-02-10

Jython is an implementation of the high-level, dynamic, object-oriented language Python seamlessly integrated with the Java platform. See Jython

Kivy

Windows, MacOSX, Linux, Android, iOS

1.8.0

2014-01-30

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...

libavg

Windows, MacOS, Linux

1.8.0

2014-02-15

Not strictly a GUI toolkit, but a high-level multimedia framework that allows construction of media-rich guis.

PyFltk

FLTK

1.3.1

2012-02-19

supports Windows/Unix/Mac and provides access to OpenGL features. Stands for Fast, Light Toolkit.(Python 2 & 3)

PyGame

PyGame

1.9.1

2009-08-06

Primarily an introduction to game programming. Only supports one window.(Python 2 & 3)

Pyglet

Windows, MacOS, Linux

1.2alpha1

2012-07-13

Alpha stage cross-platform windowing and multimedia library that heavily uses OpenGL.

PyGObject

Gtk?

3.10.2

2013-11-1

PyGObject (aka PyGI). Python Bindings for GLib/GObject/GIO/GTK+. Replacement for PyGtk. See PyGobject

PyGtk

Gtk

2.24.0

2011-04-01

See PyGtk. Bindings for pango, atk, gtk and libglade. Good documentation from the Gtk Project. Wrapper uses some C programming style Note: New users are encouraged to use GTK+3 through the PyGObject bindings instead of using PyGTK with GTK+2. Windows users may still want to keep using PyGTK until more convenient installers are published.

pygir-ctypes

GObject Introspection

0.1.1

2011-03-29

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.

PyGtk2Tk

TkInter

0.2.0

2008-09-19

PyGtk to TkInter Wrapper runs PyGtk based code unchanged using TkInter (Tk). Python 2 only

PyGUI

Cocoa / Gtk / Win32

2.5.3

2011-07-16

Abstract, pythonic API encapsulating different platforms.

PyjamasDesktop

Many

Comprehensive Widget toolkit that uses PyWebkitGtk to do the heavy lifting. Provides the "V" in MVC. Note PyjamasDesktop was merged into Pyjamas.

PyKDE

Qt / KDE

Python wrappers for the KDE libraries. See PyKDE

PyQt

Qt

5.2

2014-01-07

Python bindings for the Qt application development framework(Python 2 & 3)

PySide

Qt

1.2.1

2013-08-16

The PySide project provides licensed Python bindings for the Qt cross-platform application and UI framework.

PyWebkitGtk

Web Browsers

1.1.8

2010-08-07

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.

Sugar

OLPC XO with Linux

0.98.5

2013-03-08

User interface for collaborative educational software

TkInter

Tk

TK version varies by Python release and platform

Python's "standard" GUI library (Python 2 Docs, Python 3 Docs) A version of Tk 8.5 or greater, is required to use ttk (Also see Issue20565)

Traits/TraitsUI

Qt or Wx on Windows, MacOS, Linux

4.0.0

2013-12-03

The Traits/TraitsUI package offers the ability to build scalable and cross-platforms GUIs simply by focusing on the model being viewed, and offering default widgets for various types of objects. It abstracts away the implementation, which can currently use PyQt, Pyside or WxPython. In the simplest case, it can automatically generate a user interface for editing a (Traits-based) object, with no additional coding on the part of the programmer-user. In more sophisticated uses, it can implement a Model-View-Controller (MVC) design pattern for Traits-based objects.

VTK

many

6.1.0

2014-01-22

The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization.

Wax

WxWidgets

0.3.33

2006-03-17

A wrapper to WxPython, easier and more "pythonic"

WxPython

WxWidgets

3.0.0.0

2013-12-25

Supports Windows/Unix/Mac. See WxPython

Inactive/Unmaintained

Package

Target

Latest version

Latest update date

Notes

AnyGui

many

0.1.1

2002-02-08

(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

1.0.5

2002-04-02

FXPy is a Python extension module that provides an interface to the cross-platform FOX GUI library. It is no longer under development, but the last release is compatible with FOX 1.0 and Python 2.2.

Lucid

Windows, GTK, MacOS

0.1

SVN only

(Original website gone) An abstraction layer and clever layout engine that uses the native GUI widgets of each operating system. Previously known as "Claro Framework." / Copy on Github https://github.com/theojulienne/lucid/tree/master/trunk

EasyGui

Tk

0.96

2010-08-29

(Effective March 6, 2013 EasyGui project is now closed) EasyGUI is a module for very simple, very easy GUI programming in Python.

TkZinc

Tk extension

3.2.2

2005-06-18

TkZinc is a extension of the Tk Canvas, with transparency, gradient, transformations (Inactive website gone)

PySWT

SWT

0.0.3

2005-06-28

PySWT is a Python Binding to the IBM Eclipse SWT library, to provide Python with a cross platform native looking GUI. (Python 2.4) (Not active: last update for page was 2005)

OcempGUI(Ocean Empire GUI)

Pygame

0.2.9

2008-05-10

A small GUI toolkit written in Python based on Pygame. Provides accessibility support. Website (Not active: last updated 2008)

Nufox

XUL (many)

0.1.0

2005-10-13

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. (Python 2.3 or 2.4) (Not active: last update 2005)

PyUi

OpenGL

1.0

2003-08-17

Specialized GUI Toolkit for generating GUIs for OpenGL programs. (Python 2.2) (Not active: last update 2003)

PythonCard

WxWidgets

0.8.2

2006-05-22

Easy to use framework and GUI builder. Can include wxPython code in PythonCard apps PythonCard tutorial videos at ShowMeDo (Not active: last update 2006)

PyMT

OpenGL, all platform

0.5.1

2010-09-06

Python framework for doing multitouch GUI / Application (Deprecated, in favor of Kivy)

XGui

XGui

?SVN?

2008-03-02

XGui is a cross-platform widget set with C,C++ and Python bindings. Actually supports *nix over Gtk and Windows over Win32 (Code not touched since 2008)

PyPicoGUI

PicoGUI

0.46

2003-11-18

python library is included in the main PicoGUI release (Website doesn't indicate activity since 2004)

Platform-specific Frameworks

Package

Target

Latest version

Latest update date

Notes

BeThon

BeOS

0.5.4

?

Port of Python 2.6 to BeOS, as well as the Bethon BeOS API interface library. See http://bebits.com/app/1564

MacPython

MacOS

2.3.3

2004-04-02

Supports both OSX and OS9. See MacPython

PyObjC

MacOSX

Supports Cocoa Aqua GUIs on the Mac

PyMUI

MorphOS

0.7.0

2013-12-27

LGPL MagicUserInterface wrapper for Python. Support for MorphOS 2.x.(Python 2.7)

IronPython Studio

Windows

1.0

2007-12-10

A free GUI implementation of IronPython with the same interface as Visual Studio.

venster

Windows

0.72

2004-12-25

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.

Win32All

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)

Ocean

Windows

0.2.3-r97

2007-04-02

GUI library. Python only "pythonic javax.swing". Model/View/Controller, skinning.

GUI Design Tools and IDEs

IDE

Target

Latest version

Latest update date

Notes

Autoglade

PyGtk

0.5

2009-07-27

Automagically creates GUI applications from Glade GUI definition, GPL

BlackAdder

PyQt

1.0

2003-09-11

Commercial (Inactive Website, Demo copy can be found at https://archive.org/details/tucows_332773_BlackAdder )

BoaConstructor

WxPython

0.6.1

2007-07-05

GPL A RAD GUI Building IDE for wxPython. See BoaConstructor

The Eric Python IDE

PyQt

5.4.2

2014-03-09

GPL. a full featured Python and Ruby editor and IDE, integrating the highly flexible Scintilla editor control.(Python 2 & 3 versions)

FarPy GUIE

WxPython

0.5.5

2007-04-14

GPL. Supports wxPython, wxRuby, wxPerl & IronPython!

gui2py

WxPython

Visual GUI Designer, Inspector and Property Editor (embeddable). PythonCard "fork". LGPL3.

Gazpacho

PyGtk

0.7.2

2007-07-29

GPL. Create a Graphical User Interface (GUI) for your GTK+ program in a visual way.

Glade

PyGtk

3.16.1

2013-12-18

GPL. Glade is a RAD tool to enable quick & easy development of user interfaces for the GTK+ toolkit and the GNOME desktop environment.

GWiz

Tix

GUI engine with integrated GUI builder. File gone was on lwickjr's python wiki page

IronPython Studio

Windows Application

A free GUI implementation of IronPython with the same interface as Visual Studio.

Komodo

TkInter

Commercial

NodeBox

MacOSX, Win, Linux

3.0.38

2014-01-24

App to creating 2D visuals using Python programming code.

PAGE

TkInter, Tix

4.2.1

2014-02-21

GUI editor for Windows, Mac and Linux.

pygubu

TkInter

0.9.2

2013-11-05

GPL TkInter GUI builder (exports XML ".ui" files) and RAD tool inspired by Glade.

PyScripter

Windows

2.5.1

20120319

MIT Open Source IDE developed using Python and Delphi. See PyScripter.(Python 2 & 3)

PythonCard

WxWidgets

0.8.2

2006-05-22

Easy to use framework and GUI builder. Can include wxPython code in PythonCard apps PythonCard tutorial videos at ShowMeDo

PythonToolkit (PTK)

Windows/Linux/Mac

13.01

2013-03-07

An interactive environment for python, suitable for interactive GUI programming with different GUI toolkits (wxPython, TkInter, pyGTK, pyQT4 and PySide)

PythonWorks

TkInter

1.3

2002/11/25

PythonWorks is no longer being developed. Existing customers still supported, but no new licenses are available to new customers.

rad2py

gui2py & WxPython

Rapid Application Development platform for python (including editor, debugger, visual designer, unit tests, etc.). GPLv3. Alpha.

tkRAD

TkInter

1.4.1

2014-03-12

TkInter Rapid Application Development and XML widget builder

Qt Designer

PyQt

A form design tool, available with both Commercial and GPL editions of Qt. Can be used with Eric3 and Eric4.

WxDesigner

WxPython

Commercial Student EUR 29, Single user EUR 129

WxFormBuilder

WxPython

GPL cross-platform WYSIWYG GUI builder. Can produce XRC/XML, wxWidgets/C++, or wxPython/python.

WxGlade

WxPython

0.6.8

2013-07-13

MIT License, wxGlade is a GUI designer written in Python with the popular GUI toolkit wxPython, that helps you create wxWidgets/wxPython user interfaces.. See WxGlade

xRope

TkInter

1.4.4

2008-07-29

GPL. GUI, class browser, file manager, with code completion.

Visual Tkinter IDE

TkInter

1.28

2010-04-18

Visual Tkinter IDE for Python 2.6

Visual Python IDE

TkInter

0.12.2554

2010-11-02

Visual Python IDE for Python 2.6

CameronLaird's personal notes on Python GUIs http://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.

http://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.

http://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.


CategoryPyGUI

GuiProgramming (last edited 2024-02-25 07:39:56 by krakengore)

Unable to edit the page? See the FrontPage for instructions.