blob: 9ce9a163e5716fccf89380df4c3586d7495db0a1 [file] [log] [blame]
Georg Brandl8ec7f652007-08-15 14:28:01 +00001.. _other-gui-packages:
2
3Other Graphical User Interface Packages
4=======================================
5
Antoine Pitrou22da68b2011-12-04 23:56:30 +01006Major cross-platform (Windows, Mac OS X, Unix-like) GUI toolkits are
7available for Python:
Georg Brandl8ec7f652007-08-15 14:28:01 +00008
Georg Brandl8ec7f652007-08-15 14:28:01 +00009.. seealso::
10
11 `PyGTK <http://www.pygtk.org/>`_
12 is a set of bindings for the `GTK <http://www.gtk.org/>`_ widget set. It
Georg Brandl02677812008-03-15 00:20:19 +000013 provides an object oriented interface that is slightly higher level than
14 the C one. It comes with many more widgets than Tkinter provides, and has
15 good Python-specific reference documentation. There are also bindings to
Georg Brandlb7557af2013-10-13 22:23:27 +020016 `GNOME <http://www.gnome.org>`_. An online `tutorial
Georg Brandl02677812008-03-15 00:20:19 +000017 <http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available.
Georg Brandl8ec7f652007-08-15 14:28:01 +000018
Georg Brandl0f5d6c02014-10-29 10:57:37 +010019 `PyQt <http://www.riverbankcomputing.co.uk/software/pyqt/intro>`_
Georg Brandl8ec7f652007-08-15 14:28:01 +000020 PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an
21 extensive C++ GUI application development framework that is
22 available for Unix, Windows and Mac OS X. :program:`sip` is a tool
23 for generating bindings for C++ libraries as Python classes, and
24 is specifically designed for Python. The *PyQt3* bindings have a
25 book, `GUI Programming with Python: QT Edition
26 <http://www.commandprompt.com/community/pyqt/>`_ by Boudewijn
27 Rempt. The *PyQt4* bindings also have a book, `Rapid GUI Programming
28 with Python and Qt <http://www.qtrac.eu/pyqtbook.html>`_, by Mark
29 Summerfield.
30
31 `wxPython <http://www.wxpython.org>`_
32 wxPython is a cross-platform GUI toolkit for Python that is built around
33 the popular `wxWidgets <http://www.wxwidgets.org/>`_ (formerly wxWindows)
Georg Brandl1bd51e32007-12-16 16:00:36 +000034 C++ toolkit. It provides a native look and feel for applications on
Georg Brandl8ec7f652007-08-15 14:28:01 +000035 Windows, Mac OS X, and Unix systems by using each platform's native
Georg Brandl1bd51e32007-12-16 16:00:36 +000036 widgets where ever possible, (GTK+ on Unix-like systems). In addition to
Georg Brandl8ec7f652007-08-15 14:28:01 +000037 an extensive set of widgets, wxPython provides classes for online
38 documentation and context sensitive help, printing, HTML viewing,
39 low-level device context drawing, drag and drop, system clipboard access,
40 an XML-based resource format and more, including an ever growing library
Georg Brandl1bd51e32007-12-16 16:00:36 +000041 of user-contributed modules. wxPython has a book, `wxPython in Action
Benjamin Peterson81bec812015-03-07 09:34:16 -050042 <http://www.manning.com/rappin/>`_, by Noel Rappin and
Georg Brandl8ec7f652007-08-15 14:28:01 +000043 Robin Dunn.
44
Georg Brandlae98f502008-05-11 14:56:04 +000045PyGTK, PyQt, and wxPython, all have a modern look and feel and more
Georg Brandlc62ef8b2009-01-03 20:55:06 +000046widgets than Tkinter. In addition, there are many other GUI toolkits for
Georg Brandlae98f502008-05-11 14:56:04 +000047Python, both cross-platform, and platform-specific. See the `GUI Programming
Georg Brandl06f3b3b2014-10-29 08:36:35 +010048<https://wiki.python.org/moin/GuiProgramming>`_ page in the Python Wiki for a
Georg Brandl8ec7f652007-08-15 14:28:01 +000049much more complete list, and also for links to documents where the
50different GUI toolkits are compared.
51