mirror of https://github.com/python/cpython
79 lines
4.2 KiB
ReStructuredText
79 lines
4.2 KiB
ReStructuredText
.. _other-gui-packages:
|
|
|
|
Other Graphical User Interface Packages
|
|
=======================================
|
|
|
|
There are an number of extension widget sets to :mod:`tkinter`.
|
|
|
|
.. seealso::
|
|
|
|
`Python megawidgets <http://pmw.sourceforge.net/>`_
|
|
is a toolkit for building high-level compound widgets in Python using the
|
|
:mod:`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 :class:`HList` widget for drawing trees.
|
|
|
|
`Tkinter3000 Widget Construction Kit (WCK) <http://tkinter.effbot.org/>`_
|
|
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:
|
|
|
|
.. seealso::
|
|
|
|
`PyGTK <http://www.pygtk.org/>`_
|
|
is a set of bindings for the `GTK <http://www.gtk.org/>`_ 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 <http://www.gnome.org>`_. One well known PyGTK application is
|
|
`PythonCAD <http://www.pythoncad.org/>`_. An online `tutorial
|
|
<http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available.
|
|
|
|
`PyQt <http://www.riverbankcomputing.co.uk/software/pyqt/>`_
|
|
PyQt is a :program:`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. :program:`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
|
|
<http://www.commandprompt.com/community/pyqt/>`_ by Boudewijn
|
|
Rempt. The *PyQt4* bindings also have a book, `Rapid GUI Programming
|
|
with Python and Qt <http://www.qtrac.eu/pyqtbook.html>`_, by Mark
|
|
Summerfield.
|
|
|
|
`wxPython <http://www.wxpython.org>`_
|
|
wxPython is a cross-platform GUI toolkit for Python that is built around
|
|
the popular `wxWidgets <http://www.wxwidgets.org/>`_ (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
|
|
<http://www.amazon.com/exec/obidos/ASIN/1932394621>`_, 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
|
|
<http://wiki.python.org/moin/GuiProgramming>`_ page in the Python Wiki for a
|
|
much more complete list, and also for links to documents where the
|
|
different GUI toolkits are compared.
|
|
|