Size: 7915
Comment:
|
Size: 8502
Comment: Updated a link and fixed the order of entries in the main table.
|
Deletions are marked like this. | Additions are marked like this. |
Line 20: | Line 20: |
|| ["Jython"] || Java (swing) || || | || ["Jython"] || Java || Jython is an implementation of the high-level, dynamic, object-oriented language Python seamlessly integrated with the Java platform. see https://www.jython.org/Project/index.html for more info.|| |
Line 27: | Line 27: |
|| PyPicoGUI || [https://picogui.org/ PicoGUI] || python library is included in the main PicoGUI release || | |
Line 28: | Line 29: |
|| PyPicoGUI || [https://picogui.org/ PicoGUI] || python library is included in the main PicoGUI release || | |
Line 64: | Line 64: |
|| [https://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.|| | |
Line 75: | Line 76: |
[https://www.opendocs.org/ Opendocs] has some material on Qt programming with python for on-line reading. | 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, [https://www.commandprompt.com/community/pyqt/ GUI Programming with Python: QT Edition], is still available. |
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
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
Claro Graphics Toolkit
Windows, GTK, MacOS
An abstraction layer and clever layout engine that uses the native GUI widgets of each operating system - visit https://www.clarographics.org/
Dabo
Dabo is a 3-tier, cross-platform application development framework, written in Python atop the wxPython GUI toolkit - visit https://dabodev.com/
Tk
EasyGUI is a module for very simple, very easy GUI programming in Python.
FOX
Gnome
Gnome Platform bindings: bonobo, bonoboui, gconf, gnome, gnomecanvas, gnomevfs, gnomeui
Gnome
Gnome Desktop bindings: metacity, nautilus, gnomeprint, gtksourceview, gtop, media-profiles, totem, wnck
Gnome
Additional Gnome bindings: libegg, gda, gtkmozembed, gtkspell, gksu, gdl, gtkhtml2
[:lwickjr/Modules/: GWiz]
["Tix"]
GUI engine with integrated GUI builder. Need Alpha testers.
.NET/Mono
Python for (originally MS') .NET platform. See https://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 https://www.jython.org/Project/index.html for more info.
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, https://nufox.berlios.de/
["Ocean"]
many
GUI library. Python only "pythonic javax.swing". Model/View/Controller, skinning. See https://ocean.sourceforge.net/
supports Windows/Unix/Mac - visit https://pyfltk.sourceforge.net
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 [https://www.kde.org/ KDE] libraries
PyPicoGUI
[https://picogui.org/ PicoGUI]
python library is included in the main PicoGUI release
Qt
Python bindings for the [https://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 https://www.cs.nyu.edu/zilin/pyswt/pmwiki.php?n=PySWT.Introduction
Both a framework and GUI builder. Can include wxPython code in PythonCard apps
OpenGL
Specialized GUI Toolkit for generating GUIs for OpenGL programs.
Tk
Python's "standard" GUI library
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 https://public.kitware.com/VTK/index.php for more info.
["Wax"]
A wrapper to WxPython, easier and more "pythonic"
supports Windows/Unix/Mac for now - visit https://www.wxwidgets.org
Platform-specific Frameworks
Package
Target
Notes
BeOS
MacOS
Supports both OSX and OS9
[https://pyobjc.sourceforge.net/ PyObjC]
MacOSX
Supports Cocoa Aqua GUIs on the Mac
["venster"]
Windows
[https://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.
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)
Anyone for a GuiProgrammingShootout?
GUI Design Tools and IDEs
IDE
Target
Notes
Commercial, $50-400
GPL, Alpha, but starting to mature. Useful for debugging wxPython code!
GPL
[https://farpy.holev.com FarPy GUIE]
Freeware. Open-Source. Support wxRuby & wxPerl aswell.
[https://gazpacho.sicem.biz/ Gazpacho]
GPL
[https://glade.gnome.org/ Glade]
GPL
[:lwickjr/Modules/: GWiz]
["Tix"]
GUI engine with integrated GUI builder. Need Alpha testers.
[https://www.activestate.com Komodo]
Commercial
Tkinter, Tix
?
Python License. Alpha.
PythonWorks is no longer being developed. They still support their existing customers, but licenses are no longer available to new customers.
[https://www.trolltech.com/products/qt/features/designer Qt Designer]
A form design tool, available with both Commercial and GPL editions of Qt. Can be used with Eric3.
Commercial Student EUR 29, Single user EUR 129
MIT License, Alpha.
Python Tkinter
GUI, class browser, file manager, with code completion. Licensed under the GPL.
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.
Other places to look are PythonGuis at Thinki, and https://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, [https://www.commandprompt.com/community/pyqt/ GUI Programming with Python: QT Edition], is still available.
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 [https://awaretek.com/plf.html Python City].
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.