Differences between revisions 133 and 134
Revision 133 as of 2008-11-12 13:30:07
Size: 11451
Editor: 85-127-114-221
Comment: uxPython's IDE will cost money
Revision 134 as of 2008-11-15 13:59:51
Size: 11509
Editor: localhost
Comment: converted to 1.6 markup
Deletions are marked like this. Additions are marked like this.
Line 14: Line 14:
 || [http://avc.inrim.it/ AVC] || many || Fully automatic, live connection among graphical interface widgets and application variables. ||  || [[http://avc.inrim.it/|AVC]] || many || Fully automatic, live connection among graphical interface widgets and application variables. ||
Line 21: Line 21:
 || [:lwickjr/Modules/:GWiz] || ["Tix"] ||GUI engine with integrated GUI builder. Need Alpha testers. ||  || [[lwickjr/Modules/|GWiz]] || [[Tix]] ||GUI engine with integrated GUI builder. Need Alpha testers. ||
Line 23: Line 23:
 || ["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. ||  || [[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. ||
Line 27: Line 27:
 || ["Ocean"] || many || GUI library. Python only "pythonic javax.swing". Model/View/Controller, skinning. See http://ocean.sourceforge.net/ ||  || [[Ocean]] || many || GUI library. Python only "pythonic javax.swing". Model/View/Controller, skinning. See http://ocean.sourceforge.net/ ||
Line 31: Line 31:
 || ["PyGUI"] || MacOS / Gtk || Abstract, pythonic API encapsulating different platforms; At the moment runs on MacOS X/Carbon & Unix/Gtk ||  || [[PyGUI]] || MacOS / Gtk || Abstract, pythonic API encapsulating different platforms; At the moment runs on MacOS X/Carbon & Unix/Gtk ||
Line 33: Line 33:
 || ["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 ||
 || [[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 ||
Line 37: Line 37:
 || 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 ||
 || PyWebkitGtk || Web Browsers || 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. ||
 || 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 ||
 || PyWebkitGtk || Web Browsers || 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. ||
Line 40: Line 40:
 || [http://wiki.laptop.org/go/Sugar Sugar] || OLPC XO with Linux || User interface for collaborative educational software ||  || [[http://wiki.laptop.org/go/Sugar|Sugar]] || OLPC XO with Linux || User interface for collaborative educational software ||
Line 44: Line 44:
 || ["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 pure 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. There will be a Design Studio/IDE which will cost 150$. http://www.uxpython.com ||
 || [[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 pure 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. There will be a Design Studio/IDE which will cost 150$. http://www.uxpython.com ||
Line 53: Line 53:
 || [http://pyobjc.sourceforge.net/ PyObjC] || MacOSX || Supports Cocoa Aqua GUIs on the Mac ||
 || [http://www.codeplex.com/IronPythonStudio IronPython Studio] || Windows || A free GUI implementation of IronPython with the same interface as Visual Studio. ||
 || ["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. ||
 || [[http://pyobjc.sourceforge.net/|PyObjC]] || MacOSX || Supports Cocoa Aqua GUIs on the Mac ||
 || [[http://www.codeplex.com/IronPythonStudio|IronPython Studio]] || Windows || A free GUI implementation of IronPython with the same interface as Visual Studio. ||
 || [[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. ||
Line 64: Line 64:
 || [http://autoglade.sf.net/ Autoglade] || PyGtk || Automagically creates GUI applications from [http://glade.gnome.org/ Glade] GUI definition, GPL ||  || [[http://autoglade.sf.net/|Autoglade]] || PyGtk || Automagically creates GUI applications from [[http://glade.gnome.org/|Glade]] GUI definition, GPL ||
Line 67: Line 67:
 || [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.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://page.sourceforge.net/ PAGE] || Tkinter, Tix ||? ||
 || [[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.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://page.sourceforge.net/|PAGE]] || Tkinter, Tix ||? ||
Line 77: Line 77:
 || [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. ||  || [[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. ||
Line 80: Line 80:
 || [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 ||
 || [[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 87: Line 87:
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]. 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 89: Line 89:
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://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]].

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-browser Frameworks

Package

Target

Notes

  • PyJamas

    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

  • 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

    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

    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

    PyGtk2Tk

    Tkinter

    PyGtk to Tkinter Wrapper runs PyGtk based code unchanged using Tkinter (Tk).

    PyGUI

    MacOS / Gtk

    Abstract, pythonic API encapsulating different platforms; At the moment runs on MacOS X/Carbon & Unix/Gtk

    PyjamasDesktop

    Many

    Comprehensive Widget toolkit that uses PyWebkitGtk to do the heavy lifting. Provides the "V" in MVC. See also Pyjamas

    PyKDE

    Qt / KDE

    Python wrappers for the KDE libraries

    PyPicoGUI

    PicoGUI

    python library is included in the main PicoGUI release

    PyQt

    Qt

    Python bindings for the 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 PythonCard tutorial videos at ShowMeDo

    PyWebkitGtk

    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.

    PyUi

    OpenGL

    Specialized GUI Toolkit for generating GUIs for OpenGL programs.

    Sugar

    OLPC XO with Linux

    User interface for collaborative educational software

    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, wxPython tutorial videos at ShowMeDo on writing a graphical application

    uxPython

    python/any

    uxPython is a pure 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. There will be a Design Studio/IDE which will cost 150$. 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.

Platform-specific Frameworks

Package

Target

Notes

  • BeThon

    BeOS

    MacPython

    MacOS

    Supports both OSX and OS9

    PyObjC

    MacOSX

    Supports Cocoa Aqua GUIs on the Mac

    IronPython Studio

    Windows

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

    venster

    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.

    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

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

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

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