Merge rev 56731 to 3k tree.

This commit is contained in:
Georg Brandl 2007-08-04 14:42:35 +00:00
parent 3c274f05c2
commit 7e6201a701

View File

@ -31,63 +31,54 @@ There are an number of extension widget sets to :mod:`Tkinter`.
.. %
Other GUI packages are also available for Python:
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
<http://www.daa.com.au/~james/gnome/>`_ 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/pyqt/index.php>`_
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/>`_ C++ toolkit.  It provides a
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.  Both the wxWidgets and wxPython projects are under active
development and continuous improvement, and have active and helpful user and
developer communities.
contributed modules.  wxPython has a book,
`wxPython in Action <http://www.amazon.com/exec/obidos/ASIN/1932394621>`_,
by Noel Rappin and Robin Dunn.
`wxPython in Action <http://www.amazon.com/exec/obidos/ASIN/1932394621>`_
The wxPython book, by Noel Rappin and Robin Dunn.
PyQt
PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an
extensive C++ GUI toolkit 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. An online manual is available
at http://www.opendocspublishing.com/pyqt/ (errata are located at
http://www.valdyas.org/python/book.html).
`PyKDE <http://www.riverbankcomputing.co.uk/pykde/index.php>`_
PyKDE is a :program:`sip`\ -wrapped interface to the KDE desktop libraries. KDE
is a desktop environment for Unix computers; the graphical components are based
on Qt.
`FXPy <http://fxpy.sourceforge.net/>`_
is a Python extension module which provides an interface to the `FOX
<http://www.cfdrc.com/FOX/fox.html>`_ GUI. FOX is a C++ based Toolkit for
developing Graphical User Interfaces easily and effectively. It offers a wide,
and growing, collection of Controls, and provides state of the art facilities
such as drag and drop, selection, as well as OpenGL widgets for 3D graphical
manipulation. FOX also implements icons, images, and user-convenience features
such as status line help, and tooltips.
Even though FOX offers a large collection of controls already, FOX leverages C++
to allow programmers to easily build additional Controls and GUI elements,
simply by taking existing controls, and creating a derived class which simply
adds or redefines the desired behavior.
`PyGTK <http://www.daa.com.au/~james/software/pygtk/>`_
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 automatically does all the type casting and reference counting that you
would have to do normally with the C API. There are also `bindings
<http://www.daa.com.au/~james/gnome/>`_ to `GNOME <http://www.gnome.org>`_, and
a `tutorial
<http://laguna.fmedic.unam.mx/~daniel/pygtutorial/pygtutorial/index.html>`_ is
available.
.. % XXX Reference URLs that compare the different UI packages
PyGTK, PyQt, and wxPython, all have a modern look and feel and far more
widgets and better documentation 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.