Differences between revisions 124 and 125
Revision 124 as of 2007-12-17 18:48:01
Size: 10589
Editor: zot
Comment:
Revision 125 as of 2008-01-21 08:51:04
Size: 9930
Editor: 209-121-201-123
Comment:
Deletions are marked like this. Additions are marked like this.
Line 2: Line 2:
Line 6: Line 5:
Line 9: Line 7:
  || '''Package'''   || '''Target''' || '''Notes''' ||
  || AnyGui          || 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 ||
  || [http://avc.inrim.it/ AVC]      || many || Fully automatic, live connection among graphical interface widgets and application variables. ||
  || Dabo            || WxPython     || Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit - visit http://dabodev.com/ ||
  || EasyGui           || Tk  || EasyGUI is a module for very simple, very easy GUI programming in Python. ||
  || FXPy            || FOX          || Last released 2002; presumed dead.||
  || GnomePython || 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  ||
  || [:lwickjr/Modules/: GWiz] || ["Tix"] ||GUI engine with integrated GUI builder. Need Alpha testers.||
  || IronPython      || .NET/Mono || Python for (originally MS') .NET platform. See http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython for more info. ||
  || ["Jython"]      || Java || Jython is an implementation of the high-level, dynamic, object-oriented language Python seamlessly integrated with the Java platform. see http://www.jython.org/Project/index.html for more info.||
  || libavg       || MacOS, Linux || Not strictly a GUI toolkit, but a high-level multimedia framework that allows construction of media-rich guis. http://www.libavg.de. ||
  || Lucid        || Windows, GTK, MacOS || An abstraction layer and clever layout engine that uses the native GUI widgets of each operating system. Previously known as "Claro Framework" - visit http://www.lucidtoolkit.org/ ||
  || Nufox || 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, http://nufox.berlios.de/  ||
  || ["Ocean"]          || many || GUI library. Python only "pythonic javax.swing". Model/View/Controller, skinning. See http://ocean.sourceforge.net/||
  || PyFltk          || FlTk         || supports Windows/Unix/Mac - visit http://pyfltk.sourceforge.net||
  || PyGtk || Gtk || Bindings for pango, atk, gtk and libglade ||
  || ["PyGUI"]           || MacOS / Gtk  || Abstract, pythonic API encapsulating different platforms; At the moment runs on MacOS X/Carbon & Unix/Gtk ||
  || ["PyKDE"]            || Qt / KDE           || Python wrappers for the [http://www.kde.org/ KDE] libraries ||
  || PyPicoGUI || [http://picogui.org/ PicoGUI] || python library is included in the main PicoGUI release ||
  || PyQt            || Qt           || Python bindings for the [http://www.trolltech.com/products/qt/ Qt] application development 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 http://www.cs.nyu.edu/zilin/pyswt/pmwiki.php?n=PySWT.Introduction ||
  || PythonCard   || WxWidgets   || Both a framework and GUI builder. Can include wxPython code in PythonCard apps [http://showmedo.com/videos/series?name=LIIBqnWDo PythonCard tutorial videos] at ShowMeDo ||
  || PyUi            || OpenGL       || Specialized GUI Toolkit for generating GUIs for OpenGL programs. ||
  || TkInter         || Tk           || Python's "standard" GUI library ||
  || TkZinc          || Tk extension || TkZinc is a extension of the Tk Canvas, with transparency, gradient, transformations ||
  || VTK             || many || The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization. See http://public.kitware.com/VTK/index.php for more info. ||
  || ["Wax"]             || WxWidgets    || A wrapper to WxPython, easier and more "pythonic" ||
  || WxPython        || WxWidgets    || supports Windows/Unix/Mac for now - visit http://www.wxwidgets.org, [http://showmedo.com/videos/series?name=PythonWxPythonBeginnersSeries wxPython tutorial videos] at ShowMeDo on writing a graphical application ||
  || [http://www.uxpython.com uxPython] || python/any || uxPython is a pyre python cross-platform UI toolkit for creating stunning user interfaces. Taking a cue from the highly innovative Swing toolkit for Java and inspired by the creative work being done on the web, uxPython was developed to bring fun and productivity to desktop development. http://www.uxpython.com ||
  || XGui            || XGui     || XGui is a cross-platform widget set with C,C++ and Python bindings. Actually supports *nix over Gtk and Windows over Win32 - see http://www.objectblues.net/wiki/show/XGui for more info. ||
 .
||
'''Package''' ||'''Target''' ||'''Notes''' ||
 .
||
AnyGui ||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 ||
 .
||
[http://avc.inrim.it/ AVC] ||many ||Fully automatic, live connection among graphical interface widgets and application variables. ||
 ||Dabo ||WxPython ||Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit - visit http://dabodev.com/ ||
 ||EasyGui ||Tk ||EasyGUI is a module for very simple, very easy GUI programming in Python. ||
 ||FXPy ||FOX ||Last released 2002; presumed dead. ||
 ||GnomePython ||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 ||
 ||[:lwickjr/Modules/:GWiz] ||["Tix"] ||GUI engine with integrated GUI builder. Need Alpha testers. ||
 ||IronPython ||.NET/Mono ||Python for (originally MS') .NET platform. See http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython for more info. ||
 ||["Jython"] ||Java ||Jython is an implementation of the high-level, dynamic, object-oriented language Python seamlessly integrated with the Java platform. see http://www.jython.org/Project/index.html for more info. ||
 ||libavg ||MacOS, Linux ||Not strictly a GUI toolkit, but a high-level multimedia framework that allows construction of media-rich guis. http://www.libavg.de. ||
 ||Lucid ||Windows, GTK, MacOS ||An abstraction layer and clever layout engine that uses the native GUI widgets of each operating system. Previously known as "Claro Framework" - visit http://www.lucidtoolkit.org/ ||
 ||Nufox ||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, http://nufox.berlios.de/ ||
 ||["Ocean"] ||many ||GUI library. Python only "pythonic javax.swing". Model/View/Controller, skinning. See http://ocean.sourceforge.net/ ||
 ||PyFltk ||FlTk ||supports Windows/Unix/Mac - visit http://pyfltk.sourceforge.net ||
 ||PyGtk ||Gtk ||Bindings for pango, atk, gtk and libglade ||
 ||["PyGUI"] ||MacOS / Gtk ||Abstract, pythonic API encapsulating different platforms; At the moment runs on MacOS X/Carbon & Unix/Gtk ||
 ||["PyKDE"] ||Qt / KDE ||Python wrappers for the [http://www.kde.org/ KDE] libraries ||
 ||PyPicoGUI ||[http://picogui.org/ PicoGUI] ||python library is included in the main PicoGUI release ||
 ||PyQt ||Qt ||Python bindings for the [http://www.trolltech.com/products/qt/ Qt] application development 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 http://www.cs.nyu.edu/zilin/pyswt/pmwiki.php?n=PySWT.Introduction ||
 ||PythonCard ||WxWidgets ||Both a framework and GUI builder. Can include wxPython code in PythonCard apps [http://showmedo.com/videos/series?name=LIIBqnWDo PythonCard tutorial videos] at ShowMeDo ||
 ||PyUi ||OpenGL ||Specialized GUI Toolkit for generating GUIs for OpenGL programs. ||
 ||TkInter ||Tk ||Python's "standard" GUI library ||
 ||TkZinc ||Tk extension ||TkZinc is a extension of the Tk Canvas, with transparency, gradient, transformations ||
 ||VTK ||many ||The Visualization ToolKit (VTK) is an open source, freely available software system for 3D computer graphics, image processing, and visualization. See http://public.kitware.com/VTK/index.php for more info. ||
 ||["Wax"] ||WxWidgets ||A wrapper to WxPython, easier and more "pythonic" ||
 ||WxPython ||WxWidgets ||supports Windows/Unix/Mac for now - visit http://www.wxwidgets.org, [http://showmedo.com/videos/series?name=PythonWxPythonBeginnersSeries wxPython tutorial videos] at ShowMeDo on writing a graphical application ||
 ||[http://www.uxpython.com uxPython] ||python/any ||uxPython is a pyre python cross-platform UI toolkit for creating stunning user interfaces. Taking a cue from the highly innovative Swing toolkit for Java and inspired by the creative work being done on the web, uxPython was developed to bring fun and productivity to desktop development. http://www.uxpython.com ||
 ||XGui ||XGui ||XGui is a cross-platform widget set with C,C++ and Python bindings. Actually supports *nix over Gtk and Windows over Win32 - see http://www.objectblues.net/wiki/show/XGui for more info. ||
Line 43: Line 43:

  ||
'''Package'''   || '''Target''' || '''Notes''' ||
  || BeThon          || BeOS         || ||
  ||
MacPython       || MacOS        || Supports both OSX and OS9 ||
  || [http://pyobjc.sourceforge.net/ PyObjC]          || MacOSX       || Supports Cocoa Aqua GUIs on the Mac ||
  || ["venster"]     || Windows || [http://venster.sf.net 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) ||
 || PyScripter || Windows || An OpenSource IDE developed using Python and Delphi ||
 .
||
'''Package''' ||'''Target''' ||'''Notes''' ||
 .
||
BeThon ||BeOS || ||
 .
||
MacPython ||MacOS ||Supports both OSX and OS9 ||
 ||[http://pyobjc.sourceforge.net/ PyObjC] ||MacOSX ||Supports Cocoa Aqua GUIs on the Mac ||
 ||["venster"] ||Windows ||[http://venster.sf.net 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) ||
 .
||PyScripter ||Windows ||
An OpenSource IDE developed using Python and Delphi ||
Line 55: Line 57:

  ||
'''IDE'''      ||'''Target'''||'''Notes'''||
  ||
[http://autoglade.sf.net/ Autoglade] || PyGtk || Automagically creates GUI applications from [http://glade.gnome.org/ Glade] GUI definition, GPL||
  ||
BlackAdder     || PyQt       ||Commercial, $50-400||
 
||BoaConstructor  || WxPython   ||GPL, Alpha, but starting to mature. Useful for debugging wxPython code!||
  ||
[http://www.die-offenbachs.de/eric/index.html Eric3 and Eric4] || PyQt ||GPL||
  ||
[http://farpy.holev.com FarPy GUIE]     || WxPython   || Freeware. Open-Source. Support wxRuby & wxPerl aswell.||
  ||
[http://gazpacho.sicem.biz/ Gazpacho]        || PyGtk   ||GPL||
  ||
[http://glade.gnome.org/ Glade]        || PyGtk   ||GPL||
  ||
[:lwickjr/Modules/: GWiz] || ["Tix"] ||GUI engine with integrated GUI builder. Need Alpha testers.||
  ||
[http://www.activestate.com Komodo]         || TkInter    ||Commercial         ||
  ||
[http://page.sourceforge.net/ PAGE]        || Tkinter, Tix  ||?||
  ||
PythonCard     || PythonCard, WxPython   ||Python License. Alpha.||
  ||
PythonWorks    || TkInter    ||PythonWorks is no longer being developed. They still support their existing customers, but licenses are no longer available to new customers.||
  ||
[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||
  ||
WxGlade        || WxPython   ||MIT License, Alpha.||
  ||
[http://sourceforge.net/projects/xrope/ xrope] || Python Tkinter ||  GUI, class browser, file manager, with code completion. Licensed under the GPL. ||
  || [http://www.uxpython.com uxPython Studio] || uxPython ||Commercial Full drag-and-drop form designer XML based and XUL inspired format - pre-alpha binary preview available||

 .
||
'''IDE''' ||'''Target''' ||'''Notes''' ||
 .
||
[http://autoglade.sf.net/ Autoglade] ||PyGtk ||Automagically creates GUI applications from [http://glade.gnome.org/ Glade] GUI definition, GPL ||
 .
||
BlackAdder ||PyQt ||Commercial, $50-400 ||
||BoaConstructor ||WxPython ||GPL, Alpha, but starting to mature. Useful for debugging wxPython code! ||
 ||
[http://www.die-offenbachs.de/eric/index.html Eric3 and Eric4] ||PyQt ||GPL ||
 ||
[http://farpy.holev.com FarPy GUIE] ||WxPython ||Freeware. Open-Source. Support wxRuby & wxPerl aswell. ||
 ||
[http://gazpacho.sicem.biz/ Gazpacho] ||PyGtk ||GPL ||
 ||
[http://glade.gnome.org/ Glade] ||PyGtk ||GPL ||
 ||
[:lwickjr/Modules/:GWiz] ||["Tix"] ||GUI engine with integrated GUI builder. Need Alpha testers. ||
 ||
[http://www.activestate.com Komodo] ||TkInter ||Commercial ||
 ||
[http://page.sourceforge.net/ PAGE] ||Tkinter, Tix ||? ||
 ||
PythonCard ||PythonCard, WxPython ||Python License. Alpha. ||
 ||
PythonWorks ||TkInter ||PythonWorks is no longer being developed. They still support their existing customers, but licenses are no longer available to new customers. ||
 ||
[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 ||
 ||
WxGlade ||WxPython ||MIT License, Alpha. ||
 ||
[http://sourceforge.net/projects/xrope/ xrope] ||Python Tkinter ||GUI, class browser, file manager, with code completion. Licensed under the GPL. ||
 ||[http://www.uxpython.com uxPython Studio] ||uxPython ||Commercial Full drag-and-drop form designer XML based and XUL inspired format - pre-alpha binary preview available ||
Line 77: Line 79:

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.
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 89: Line 90:

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.

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

AnyGui

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

[http://avc.inrim.it/ AVC]

many

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

Platform-specific Frameworks

Package

Target

Notes

BeThon

BeOS

MacPython

MacOS

Supports both OSX and OS9

  • [http://pyobjc.sourceforge.net/ PyObjC]

    MacOSX

    Supports Cocoa Aqua GUIs on the Mac

    ["venster"]

    Windows

    [http://venster.sf.net 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)

PyScripter

Windows

An OpenSource IDE developed using Python and Delphi

Anyone for a GuiProgrammingShootout?

GUI Design Tools and IDEs

IDE

Target

Notes

[http://autoglade.sf.net/ Autoglade]

PyGtk

Automagically creates GUI applications from [http://glade.gnome.org/ Glade] GUI definition, GPL

BlackAdder

PyQt

Commercial, $50-400

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.

Other places to look are PythonGuis at Thinki, and http://sensei.co.il/python/ui.html .

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

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

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.

GuiProgramming (last edited 2024-04-09 18:58:46 by FeodorFitsner)

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