
Other Graphical User Interface Packages
***************************************

There are an number of extension widget sets to ``tkinter``.

See also:

   Python megawidgets
      is a toolkit for building high-level compound widgets in Python
      using the ``tkinter`` package.  It consists of a set of base
      classes and a library of flexible and extensible megawidgets
      built on this foundation. These megawidgets include notebooks,
      comboboxes, selection widgets, paned widgets, scrolled widgets,
      dialog windows, etc.  Also, with the Pmw.Blt interface to BLT,
      the busy, graph, stripchart, tabset and vector commands are be
      available.

      The initial ideas for Pmw were taken from the Tk ``itcl``
      extensions ``[incr Tk]`` by Michael McLennan and ``[incr
      Widgets]`` by Mark Ulferts. Several of the megawidgets are
      direct translations from the itcl to Python. It offers most of
      the range of widgets that ``[incr Widgets]`` does, and is almost
      as complete as Tix, lacking however Tix's fast ``HList`` widget
      for drawing trees.

   Tkinter3000 Widget Construction Kit (WCK)
      is a library that allows you to write new Tkinter widgets in
      pure Python.  The WCK framework gives you full control over
      widget creation, configuration, screen appearance, and event
      handling.  WCK widgets can be very fast and light-weight, since
      they can operate directly on Python data structures, without
      having to transfer data through the Tk/Tcl layer.

The major cross-platform (Windows, Mac OS X, Unix-like) GUI toolkits
that are also available for Python:

See also:

   PyGTK
      is a set of bindings for the GTK widget set. It provides an
      object oriented interface that is slightly higher level than the
      C one. It comes with many more widgets than Tkinter provides,
      and has good Python-specific reference documentation. There are
      also bindings to GNOME.  One well known PyGTK application is
      PythonCAD. An online tutorial is available.

   PyQt
      PyQt is a **sip**-wrapped binding to the Qt toolkit.  Qt is an
      extensive C++ GUI application development framework that is
      available for Unix, Windows and Mac OS X. **sip** is a tool for
      generating bindings for C++ libraries as Python classes, and is
      specifically designed for Python. The *PyQt3* bindings have a
      book, GUI Programming with Python: QT Edition by Boudewijn
      Rempt. The *PyQt4* bindings also have a book, Rapid GUI
      Programming with Python and Qt, by Mark Summerfield.

   wxPython
      wxPython is a cross-platform GUI toolkit for Python that is
      built around the popular wxWidgets (formerly wxWindows) C++
      toolkit.  It provides a native look and feel for applications on
      Windows, Mac OS X, and Unix systems by using each platform's
      native widgets where ever possible, (GTK+ on Unix-like systems).
      In addition to an extensive set of widgets, wxPython provides
      classes for online documentation and context sensitive help,
      printing, HTML viewing, low-level device context drawing, drag
      and drop, system clipboard access, an XML-based resource format
      and more, including an ever growing library of user-contributed
      modules.  wxPython has a book, wxPython in Action, by Noel
      Rappin and Robin Dunn.

PyGTK, PyQt, and wxPython, all have a modern look and feel and more
widgets than Tkinter. In addition, there are many other GUI toolkits
for Python, both cross-platform, and platform-specific. See the GUI
Programming page in the Python Wiki for a much more complete list, and
also for links to documents where the different GUI toolkits are
compared.
