ANN: wxPython

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

ANN: wxPython

Robin Dunn

The release of wxPython is now available for download at  This release includes a number of
bug fixes, updates to some contribs and other improvements.

Source code is available, as well as binaries for Python 2.3, 2.4 and
2.5, for Windows and Mac, as well some pacakges for various Linux
distributions.  A summary of changes is listed below and also at

What is wxPython?

wxPython is a GUI toolkit for the Python programming language. It
allows Python programmers to create programs with a robust, highly
functional graphical user interface, simply and easily. It is
implemented as a Python extension module that wraps the GUI components
of the popular wxWidgets cross platform library, which is written in

wxPython is a cross-platform toolkit. This means that the same program
will usually run on multiple platforms without modifications.
Currently supported platforms are 32-bit Microsoft Windows, most Linux
or other Unix-like systems using GTK2, and Mac OS X 10.3+, in most
cases the native widgets are used on each platform to provide a 100%
native look and feel for the application.

Changes in

Added some SWIG magic that allows wx C++ lists to be exposed to
wxPython as sequence-like wrappers around the real list, instead of
making a Python list that is a copy of the real list as was done
before.  These sequence-like objects support indexing, iteration,
containment tests ("obj in seq") and index(obj), but not anything that
would modify the sequence.  If you need to have a real list object
like before then you can pass the sequence to Python's list() function
to convert it.  Current functions that are affected by this are
wx.Window.GetChildren, wx.GetTopLevelWindows, wx.Sizer.GetChildren,
and wx.Menu.GetMenuItems.  Care should be taken to be sure that you
don't try to use the sequence after the C++ object the list belongs to
has been destroyed.

Updated wrappers for the RichTextCtrl classes that were already
wrapped, and added support for loading rich xml files and saving as

Added wxRoses sample from Ric Werme.

Added better wrappers for wx.OutputStream and wxPython now deals with
them similarly to how it handles wx.InputStreams.  Specifically, any
Python file-like object can be passed where a wx.OutputStream is
expected and the data will be written to the file object

Added some patches from Billy B. that improve the pySketch sample.

Added patch from Chris Mellon that gives PyShell a custom context
menu that is better integrated with the shell environment.

There are now new build scripts for making the Universal binaries and
Installer for OS X.  There is no longer any need for separate builds
for each OS version, all builds are now Universal and work on both
Panther and Tiger, and on PPC and i386.

On the Linux side the debian and ubuntu packages will support multiple
versions of Python if the Debian/Ubuntu release is setup to support
more than one version.  To check which versions you can expect to get
you can run "pyversions -s".  Also there is a new package available
that contains a debug version of the wxPython extension modules, that
can be used with the python-dbg package.  In addition the RPMs are now
being built for Fedora Core 6 and Fedora Core 7.

Robin Dunn
Software Craftsman  Java give you jitters?  Relax with wxPython!

To unsubscribe, e-mail: [hidden email]
For additional commands, e-mail: [hidden email]