Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 1 | .. _other-gui-packages: |
| 2 | |
| 3 | Other Graphical User Interface Packages |
| 4 | ======================================= |
| 5 | |
Antoine Pitrou | 22da68b | 2011-12-04 23:56:30 +0100 | [diff] [blame] | 6 | Major cross-platform (Windows, Mac OS X, Unix-like) GUI toolkits are |
| 7 | available for Python: |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 8 | |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 9 | .. 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 Brandl | 0267781 | 2008-03-15 00:20:19 +0000 | [diff] [blame] | 13 | 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 Brandl | b7557af | 2013-10-13 22:23:27 +0200 | [diff] [blame] | 16 | `GNOME <http://www.gnome.org>`_. An online `tutorial |
Georg Brandl | 0267781 | 2008-03-15 00:20:19 +0000 | [diff] [blame] | 17 | <http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available. |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 18 | |
Georg Brandl | 0f5d6c0 | 2014-10-29 10:57:37 +0100 | [diff] [blame] | 19 | `PyQt <http://www.riverbankcomputing.co.uk/software/pyqt/intro>`_ |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 20 | 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 Brandl | 1bd51e3 | 2007-12-16 16:00:36 +0000 | [diff] [blame] | 34 | C++ toolkit. It provides a native look and feel for applications on |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 35 | Windows, Mac OS X, and Unix systems by using each platform's native |
Georg Brandl | 1bd51e3 | 2007-12-16 16:00:36 +0000 | [diff] [blame] | 36 | widgets where ever possible, (GTK+ on Unix-like systems). In addition to |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 37 | 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 Brandl | 1bd51e3 | 2007-12-16 16:00:36 +0000 | [diff] [blame] | 41 | of user-contributed modules. wxPython has a book, `wxPython in Action |
Benjamin Peterson | 81bec81 | 2015-03-07 09:34:16 -0500 | [diff] [blame] | 42 | <http://www.manning.com/rappin/>`_, by Noel Rappin and |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 43 | Robin Dunn. |
| 44 | |
Georg Brandl | ae98f50 | 2008-05-11 14:56:04 +0000 | [diff] [blame] | 45 | PyGTK, PyQt, and wxPython, all have a modern look and feel and more |
Georg Brandl | c62ef8b | 2009-01-03 20:55:06 +0000 | [diff] [blame] | 46 | widgets than Tkinter. In addition, there are many other GUI toolkits for |
Georg Brandl | ae98f50 | 2008-05-11 14:56:04 +0000 | [diff] [blame] | 47 | Python, both cross-platform, and platform-specific. See the `GUI Programming |
Georg Brandl | 06f3b3b | 2014-10-29 08:36:35 +0100 | [diff] [blame] | 48 | <https://wiki.python.org/moin/GuiProgramming>`_ page in the Python Wiki for a |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 49 | much more complete list, and also for links to documents where the |
| 50 | different GUI toolkits are compared. |
| 51 | |