Issue #5262: Improved fix.
[python.git] / Doc / library / othergui.rst
blob9821173ece81445a529d41a0dbfa0392d93f1765
1 .. _other-gui-packages:
3 Other Graphical User Interface Packages
4 =======================================
6 There are an number of extension widget sets to :mod:`Tkinter`.
8 .. seealso::
10    `Python megawidgets <http://pmw.sourceforge.net/>`_
11       is a toolkit for building high-level compound widgets in Python using the
12       :mod:`Tkinter` module.  It consists of a set of base classes and a library of
13       flexible and extensible megawidgets built on this foundation. These megawidgets
14       include notebooks, comboboxes, selection widgets, paned widgets, scrolled
15       widgets, dialog windows, etc.  Also, with the Pmw.Blt interface to BLT, the
16       busy, graph, stripchart, tabset and vector commands are be available.
18       The initial ideas for Pmw were taken from the Tk ``itcl`` extensions ``[incr
19       Tk]`` by Michael McLennan and ``[incr Widgets]`` by Mark Ulferts. Several of the
20       megawidgets are direct translations from the itcl to Python. It offers most of
21       the range of widgets that ``[incr Widgets]`` does, and is almost as complete as
22       Tix, lacking however Tix's fast :class:`HList` widget for drawing trees.
24    `Tkinter3000 Widget Construction Kit (WCK) <http://tkinter.effbot.org/>`_
25       is a library that allows you to write new Tkinter widgets in pure Python.  The
26       WCK framework gives you full control over widget creation, configuration, screen
27       appearance, and event handling.  WCK widgets can be very fast and light-weight,
28       since they can operate directly on Python data structures, without having to
29       transfer data through the Tk/Tcl layer.
32 The major cross-platform (Windows, Mac OS X, Unix-like) GUI toolkits that are
33 also available for Python:
35 .. seealso::
37    `PyGTK <http://www.pygtk.org/>`_
38       is a set of bindings for the `GTK <http://www.gtk.org/>`_ widget set. It
39       provides an object oriented interface that is slightly higher level than
40       the C one. It comes with many more widgets than Tkinter provides, and has
41       good Python-specific reference documentation. There are also bindings to
42       `GNOME <http://www.gnome.org>`_.  One well known PyGTK application is
43       `PythonCAD <http://www.pythoncad.org/>`_. An online `tutorial
44       <http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available.
46    `PyQt <http://www.riverbankcomputing.co.uk/pyqt/index.php>`_
47       PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit.  Qt is an
48       extensive C++ GUI application development framework that is
49       available for Unix, Windows and Mac OS X. :program:`sip` is a tool
50       for generating bindings for C++ libraries as Python classes, and
51       is specifically designed for Python. The *PyQt3* bindings have a
52       book, `GUI Programming with Python: QT Edition
53       <http://www.commandprompt.com/community/pyqt/>`_ by Boudewijn
54       Rempt. The *PyQt4* bindings also have a book, `Rapid GUI Programming
55       with Python and Qt <http://www.qtrac.eu/pyqtbook.html>`_, by Mark
56       Summerfield.
58    `wxPython <http://www.wxpython.org>`_
59       wxPython is a cross-platform GUI toolkit for Python that is built around
60       the popular `wxWidgets <http://www.wxwidgets.org/>`_ (formerly wxWindows)
61       C++ toolkit.  It provides a native look and feel for applications on
62       Windows, Mac OS X, and Unix systems by using each platform's native
63       widgets where ever possible, (GTK+ on Unix-like systems).  In addition to
64       an extensive set of widgets, wxPython provides classes for online
65       documentation and context sensitive help, printing, HTML viewing,
66       low-level device context drawing, drag and drop, system clipboard access,
67       an XML-based resource format and more, including an ever growing library
68       of user-contributed modules.  wxPython has a book, `wxPython in Action
69       <http://www.amazon.com/exec/obidos/ASIN/1932394621>`_, by Noel Rappin and
70       Robin Dunn.
72 PyGTK, PyQt, and wxPython, all have a modern look and feel and more
73 widgets than Tkinter. In addition, there are many other GUI toolkits for
74 Python, both cross-platform, and platform-specific. See the `GUI Programming
75 <http://wiki.python.org/moin/GuiProgramming>`_ page in the Python Wiki for a
76 much more complete list, and also for links to documents where the
77 different GUI toolkits are compared.