Deleted comment: XXX Reference URLs that compare the different UI packages

They are too changeable, so instead I've added a reference to the Python Wiki
page which has such links.

Dropped coverage of PyKDE because it is platform-specific. I think
it is best to only list cross-platform GUI libraries here and leave
people to go to the Wiki for platform-specific GUI libraries.

Dropped the listing for FXPy since its website hasn't been updated
since 2002 and its most "up-to-date" installer for Windows is for Python 2.2!

Slightly slimmed down wxWidgets coverage for balance.

So now only the "big 3" cross-platform toolkits,
PyGTK, PyQt, and wxPython, are listed, and they now appear in
alphabetical order.
This commit is contained in:
mark.summerfield 2007-08-04 08:01:07 +00:00
parent 9b8d5fe104
commit 07412998eb

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.