2007-08-15 11:28:22 -03:00
|
|
|
.. _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` module. 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
|
|
|
|
<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.
|
|
|
|
|
Merged revisions 59376-59406 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r59377 | georg.brandl | 2007-12-06 01:24:23 +0100 (Thu, 06 Dec 2007) | 2 lines
Add another GHOP student to ACKS.
........
r59378 | raymond.hettinger | 2007-12-06 01:56:53 +0100 (Thu, 06 Dec 2007) | 5 lines
Fix Issue 1045.
Factor-out common calling code by simplifying the length_hint API.
Speed-up the function by caching the PyObject_String for the attribute lookup.
........
r59380 | georg.brandl | 2007-12-06 02:52:24 +0100 (Thu, 06 Dec 2007) | 2 lines
Diverse markup fixes.
........
r59383 | georg.brandl | 2007-12-06 10:45:39 +0100 (Thu, 06 Dec 2007) | 2 lines
Better re.split examples.
........
r59386 | christian.heimes | 2007-12-06 14:15:13 +0100 (Thu, 06 Dec 2007) | 2 lines
Fixed get_config_h_filename for Windows. Without the patch it can't find the pyconfig.h file inside a build tree.
Added several small unit tests for sysconfig.
........
r59387 | christian.heimes | 2007-12-06 14:30:11 +0100 (Thu, 06 Dec 2007) | 1 line
Silence more warnings, _CRT_NONSTDC_NO_DEPRECATE is already defined in pyconfig.h but several projects don't include it.
........
r59389 | christian.heimes | 2007-12-06 14:55:01 +0100 (Thu, 06 Dec 2007) | 1 line
Disabled one test that is failing on Unix
........
r59399 | christian.heimes | 2007-12-06 22:13:06 +0100 (Thu, 06 Dec 2007) | 8 lines
Several Windows related cleanups:
* Removed a #define from pyconfig.h. The macro was already defined a few lines higher.
* Fixed path to tix in the build_tkinter.py script
* Changed make_buildinfo.c to use versions of unlink and strcat which are considered safe by Windows (as suggested by MvL).
* Removed two defines from pyproject.vsprops that are no longer required. Both are defined in pyconfig.h and make_buildinfo.c doesn't use the unsafe versions any more (as suggested by MvL).
* Added some more information about PGO and the property files to PCbuild9/readme.txt.
Are you fine with the changes, Martin?
........
r59400 | raymond.hettinger | 2007-12-07 02:53:01 +0100 (Fri, 07 Dec 2007) | 4 lines
Don't have the docs berate themselves. Keep a professional tone.
If a todo is needed, put it in the tracker.
........
r59402 | georg.brandl | 2007-12-07 10:07:10 +0100 (Fri, 07 Dec 2007) | 3 lines
Increase unit test coverage of SimpleXMLRPCServer.
Written for GHOP by Turkay Eren.
........
r59406 | georg.brandl | 2007-12-07 16:16:57 +0100 (Fri, 07 Dec 2007) | 2 lines
Update to windows doc from Robert.
........
2007-12-08 11:33:56 -04:00
|
|
|
`PyQt <http://www.riverbankcomputing.co.uk/pyqt/index.php>`_
|
2007-08-15 11:28:22 -03:00
|
|
|
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)
|
Merged revisions 59512-59540 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r59513 | raymond.hettinger | 2007-12-15 01:07:25 +0100 (Sat, 15 Dec 2007) | 6 lines
Optimize PyList_AsTuple(). Improve cache performance by doing the
pointer copy and object increment in one pass. For small lists,
save the overhead of the call to memcpy() -- this comes up in
calls like f(*listcomp).
........
r59519 | christian.heimes | 2007-12-15 06:38:35 +0100 (Sat, 15 Dec 2007) | 2 lines
Fixed #1624: Remove output comparison for test_pep277
I had to modify Brett's patch slightly.
........
r59520 | georg.brandl | 2007-12-15 10:34:59 +0100 (Sat, 15 Dec 2007) | 2 lines
Add note about future import needed for with statement.
........
r59522 | georg.brandl | 2007-12-15 10:36:37 +0100 (Sat, 15 Dec 2007) | 2 lines
Argh, wrong version.
........
r59524 | georg.brandl | 2007-12-16 12:06:09 +0100 (Sun, 16 Dec 2007) | 2 lines
Dummy commit to investigate #1617.
........
r59525 | georg.brandl | 2007-12-16 12:21:48 +0100 (Sun, 16 Dec 2007) | 2 lines
Revert dummy commit now that the build slave is building.
........
r59527 | georg.brandl | 2007-12-16 16:47:46 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove orphaned footnote reference.
........
r59528 | georg.brandl | 2007-12-16 16:53:49 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove gratuitous unicode character.
........
r59529 | georg.brandl | 2007-12-16 16:59:19 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove another unnecessary Unicode character.
........
r59530 | georg.brandl | 2007-12-16 17:00:36 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove curious space-like characters.
........
r59532 | georg.brandl | 2007-12-16 20:36:51 +0100 (Sun, 16 Dec 2007) | 2 lines
Adapt conf.py to new option names.
........
r59533 | christian.heimes | 2007-12-16 22:39:43 +0100 (Sun, 16 Dec 2007) | 1 line
Fixed #1638: %zd configure test fails on Linux
........
r59536 | georg.brandl | 2007-12-17 00:11:16 +0100 (Mon, 17 Dec 2007) | 2 lines
Simplify.
........
r59537 | georg.brandl | 2007-12-17 00:13:29 +0100 (Mon, 17 Dec 2007) | 2 lines
Use PEP 8.
........
r59539 | georg.brandl | 2007-12-17 00:15:07 +0100 (Mon, 17 Dec 2007) | 2 lines
Don't use quotes for non-string code.
........
r59540 | facundo.batista | 2007-12-17 15:18:42 +0100 (Mon, 17 Dec 2007) | 4 lines
Removed the private _rounding_decision: it was not needed, and the code
is now simpler. Thanks Mark Dickinson.
........
2007-12-17 16:04:13 -04:00
|
|
|
C++ toolkit. It provides a native look and feel for applications on
|
2007-08-15 11:28:22 -03:00
|
|
|
Windows, Mac OS X, and Unix systems by using each platform's native
|
Merged revisions 59512-59540 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r59513 | raymond.hettinger | 2007-12-15 01:07:25 +0100 (Sat, 15 Dec 2007) | 6 lines
Optimize PyList_AsTuple(). Improve cache performance by doing the
pointer copy and object increment in one pass. For small lists,
save the overhead of the call to memcpy() -- this comes up in
calls like f(*listcomp).
........
r59519 | christian.heimes | 2007-12-15 06:38:35 +0100 (Sat, 15 Dec 2007) | 2 lines
Fixed #1624: Remove output comparison for test_pep277
I had to modify Brett's patch slightly.
........
r59520 | georg.brandl | 2007-12-15 10:34:59 +0100 (Sat, 15 Dec 2007) | 2 lines
Add note about future import needed for with statement.
........
r59522 | georg.brandl | 2007-12-15 10:36:37 +0100 (Sat, 15 Dec 2007) | 2 lines
Argh, wrong version.
........
r59524 | georg.brandl | 2007-12-16 12:06:09 +0100 (Sun, 16 Dec 2007) | 2 lines
Dummy commit to investigate #1617.
........
r59525 | georg.brandl | 2007-12-16 12:21:48 +0100 (Sun, 16 Dec 2007) | 2 lines
Revert dummy commit now that the build slave is building.
........
r59527 | georg.brandl | 2007-12-16 16:47:46 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove orphaned footnote reference.
........
r59528 | georg.brandl | 2007-12-16 16:53:49 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove gratuitous unicode character.
........
r59529 | georg.brandl | 2007-12-16 16:59:19 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove another unnecessary Unicode character.
........
r59530 | georg.brandl | 2007-12-16 17:00:36 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove curious space-like characters.
........
r59532 | georg.brandl | 2007-12-16 20:36:51 +0100 (Sun, 16 Dec 2007) | 2 lines
Adapt conf.py to new option names.
........
r59533 | christian.heimes | 2007-12-16 22:39:43 +0100 (Sun, 16 Dec 2007) | 1 line
Fixed #1638: %zd configure test fails on Linux
........
r59536 | georg.brandl | 2007-12-17 00:11:16 +0100 (Mon, 17 Dec 2007) | 2 lines
Simplify.
........
r59537 | georg.brandl | 2007-12-17 00:13:29 +0100 (Mon, 17 Dec 2007) | 2 lines
Use PEP 8.
........
r59539 | georg.brandl | 2007-12-17 00:15:07 +0100 (Mon, 17 Dec 2007) | 2 lines
Don't use quotes for non-string code.
........
r59540 | facundo.batista | 2007-12-17 15:18:42 +0100 (Mon, 17 Dec 2007) | 4 lines
Removed the private _rounding_decision: it was not needed, and the code
is now simpler. Thanks Mark Dickinson.
........
2007-12-17 16:04:13 -04:00
|
|
|
widgets where ever possible, (GTK+ on Unix-like systems). In addition to
|
2007-08-15 11:28:22 -03:00
|
|
|
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
|
Merged revisions 59512-59540 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r59513 | raymond.hettinger | 2007-12-15 01:07:25 +0100 (Sat, 15 Dec 2007) | 6 lines
Optimize PyList_AsTuple(). Improve cache performance by doing the
pointer copy and object increment in one pass. For small lists,
save the overhead of the call to memcpy() -- this comes up in
calls like f(*listcomp).
........
r59519 | christian.heimes | 2007-12-15 06:38:35 +0100 (Sat, 15 Dec 2007) | 2 lines
Fixed #1624: Remove output comparison for test_pep277
I had to modify Brett's patch slightly.
........
r59520 | georg.brandl | 2007-12-15 10:34:59 +0100 (Sat, 15 Dec 2007) | 2 lines
Add note about future import needed for with statement.
........
r59522 | georg.brandl | 2007-12-15 10:36:37 +0100 (Sat, 15 Dec 2007) | 2 lines
Argh, wrong version.
........
r59524 | georg.brandl | 2007-12-16 12:06:09 +0100 (Sun, 16 Dec 2007) | 2 lines
Dummy commit to investigate #1617.
........
r59525 | georg.brandl | 2007-12-16 12:21:48 +0100 (Sun, 16 Dec 2007) | 2 lines
Revert dummy commit now that the build slave is building.
........
r59527 | georg.brandl | 2007-12-16 16:47:46 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove orphaned footnote reference.
........
r59528 | georg.brandl | 2007-12-16 16:53:49 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove gratuitous unicode character.
........
r59529 | georg.brandl | 2007-12-16 16:59:19 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove another unnecessary Unicode character.
........
r59530 | georg.brandl | 2007-12-16 17:00:36 +0100 (Sun, 16 Dec 2007) | 2 lines
Remove curious space-like characters.
........
r59532 | georg.brandl | 2007-12-16 20:36:51 +0100 (Sun, 16 Dec 2007) | 2 lines
Adapt conf.py to new option names.
........
r59533 | christian.heimes | 2007-12-16 22:39:43 +0100 (Sun, 16 Dec 2007) | 1 line
Fixed #1638: %zd configure test fails on Linux
........
r59536 | georg.brandl | 2007-12-17 00:11:16 +0100 (Mon, 17 Dec 2007) | 2 lines
Simplify.
........
r59537 | georg.brandl | 2007-12-17 00:13:29 +0100 (Mon, 17 Dec 2007) | 2 lines
Use PEP 8.
........
r59539 | georg.brandl | 2007-12-17 00:15:07 +0100 (Mon, 17 Dec 2007) | 2 lines
Don't use quotes for non-string code.
........
r59540 | facundo.batista | 2007-12-17 15:18:42 +0100 (Mon, 17 Dec 2007) | 4 lines
Removed the private _rounding_decision: it was not needed, and the code
is now simpler. Thanks Mark Dickinson.
........
2007-12-17 16:04:13 -04:00
|
|
|
of user-contributed modules. wxPython has a book, `wxPython in Action
|
2007-08-15 11:28:22 -03:00
|
|
|
<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 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.
|
|
|
|
|