[ANN] wxPython

Robin Dunn robin@alldunn.com
Thu, 19 Jun 2003 16:54:19 -0700


I'm pleased to announce the release of wxPython, now available
for download at http://wxpython.org/download.php or

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 popular
wxWindows cross platform GUI library, which is written in C++.

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, and Macintosh OS X.

New with this release is an experimental build of wxPython using GTK+
2.x for the underlying GUI platform and it is also built with UNICODE
support turned on.  The RPMs for this build were made on a Mandrake
9.1 system but should probably work on other distributions with very
up to date libraries.  If not, an SRPM is included that can be used to
rebuild the RPM on your system.  If you experiment with this build
please send feedback to the wxPython-users mail list.  The files are
currently available only on the SourceForge download page, look for
the wxPythonGTK2 files at the bottom:


Changes in

Added wxScrolledPanel from Will Sadkin

Added SetShape method to top level windows (e.g. wxFrame.)

Changed wxSWIG to not generate Python code using apply, (since it will
be deprecated in the future) wxSWIG will use spam(*args, **kw) syntax
instead.  Also changed the generated __repr__ methods to be a bit more

Made the version number information more robust and uh, informative.
Also added asserts to check that the major.minor versions of wxPython
and wxWindows match.

Added the new wx "renamer" package that will dynamically import from
the wxPython package and rename wxFooBar --> FooBar.  That means that
people can do imports without "import *" and can use names like
wx.Frame instead of wx.wxFrame.  This is phase 1 of a full transition
to the new namespace.

Updated Scintilla to 1.52.  I also changed it to use wxListCtrl
instead of wxListBox for the AutoComplete window, added the ability to
use custom bitmaps in the margin and in the AutoComplete windows, and
worked out how to do proper clipping of child windows on wxGTK.

Patrick O'Brien's PyCrust package has been renamed to Py and now
includes several new tools.  As part of the change the location of the
pacakge has changed as well, it is now accessible as "from wxPython
import py" (or "from wx import py" using the new namespace.)  There
are still some transition modules in the wxPython.lib.PyCrust package
that will issue a warning and then import what is needed from the new
package.  These will be removed in a future release.

Added __nonzero__ method to wxTreeItemId, wxBitmap, wxImage, wxFont,
and most other classes that have an Ok or IsOK method.  This allows
code like "if obj: ..." to be the same as "if obj.IsOk(): ..."

Toolbars on wxMac can now have controls on them.

Added wxPython.lib.analogclock module based on samples that were
passed back and forth on wxPython-users a while back.

Added masked edit controls (wxPython.lib.maskededit) by Jeff Childers
and Will Sadkin.  Updated wxTimeCtrl to use MaskedEdit.

When the __class__ of a dead object is replaced with _wxPyDeadObject
the __del__ of the original class is now called first.

Added wxTreeListCtrl.  (Looks like a wxTreeCtrl embedded in a
wxListCtrl, but actually is just giving multiple columns to a

Added wxFutureCall, a subclass of wxTimer that makes it easy to delay
a call to any Python callable object.

Added wxPy versions of wxPrintPreview, wxPreviewFrame, and
wxPreviewControlBar so they can be derived from in Python and be able
to override the C++ virtual methods.

Simplified how the wxSizer methods are wrapped, changed the name of
the "option" parameter to "proportion" to match the docs ("option" is
still accepted for compatibility, but this will go away in a future
release,) SetItemMinSize can now take a wxSize (or 2-tuple) parameter,
and Spacers can be specified with a wxSize (or 2-tuple) parameter

Added wxCursorFromBits.

Robin Dunn
Software Craftsman
http://wxPython.org  Java give you jitters?  Relax with wxPython!