ANN: wxPython

Robin Dunn robin at
Tue May 31 04:19:32 CEST 2005


I'm pleased to announce the release of wxPython, now available
for download at  This release
consists mostly of bug fixes made since the release a month

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 GTK or GTK2, and Mac OS X.

Changes in

Added wx.BrushFromBitmap to create a stippled brush in a single step.
Also added missing brysh style flags: wx.STIPPLE_MASK

wxMSW: Fix for default control colours when the system text fg colour
is not black.

wxGTK: Patch #1171754, It is now possible to have a menu item that
both has an icon and is a submenu.

wxMSW: Patch #1197009, better refreshes when windows are moved and

wxMSW: Patch #1197468.  Keeps track of pending size/position changes
in case there is more than one adjustment for a window in a single
DeferWindowPos set, then the pending values can be used for defaults
instead of current values.

Fixed the typemap that converts a Python list of strings to a
wxArrayString so it uses the wxPython default encoding.

Several docstrings added and updated.  Lots more to go.

wxMac: Strings added to the clipboard or used in DnD no longer have an
extra null character at the end.

Added wx.GetXDisplay that returns a raw swigified pointer for the X11
Display, or None for the non-X11 platforms.

wxMenu: Don't send an event when selecting an already selected radio

Added wx.LaunchDefaultBrowser.

wxMSW: Fixed erroneous selection of content in wx.ComboBox when within
a wx.StaticBox.

wxMSW: Fixed alpha blitting to take into account source position.

Ensure that Python is still in an initialized state before doing any
locking or unlocking in wxPyBeginBlockThreads and wxPyEndBlockThreads
as these can be triggered after Python has been finalized in embedding

Added alternate constructors for wx.Font: wx.FontFromPixelSize,
wx.FFont, wx.FFontFromPixelSize.  See the docstrings or new api docs
for details.

Added wx.lib.hyperlink from Andrea Gavana.  It is a control like
static text that acts like a hyper-link, launching the system's
default browser in response to the clicks.

Added an optional parameter to that allows you to
specify that the extra components specified in the version string are
required.  For example, if you ask for "2.6-unicode" but only the ansi
version is installed then by default the ansi version will be selected
as it considered close enough since the version numbers match.  If you
want to force the options to be required then you can just add a True
parameter, like this::

	 import wxversion"2.6-unicode", True)
	 import wx

Tweaked wx.lib.buttons such that flat buttons (e.g. have no bevel and
a wx.BORDER_NONE style flag) paint themed backgrounds if there are
transparent areas and the parent is displaying a theme.

wxMSW:  Fix for wrong sash colour of wx.SplitterWindow in the silver
theme on XP.

Added a wx.xrc.XmlResourceHandler for the Ticker class.  See

wxSTC: Fixed CmdKeyAssign key bindings for Ctrl-Backspace.

wxMSW: Fixed a bug in wx.TextCtrl where all the lines were being used
to calculate the best size, instead of using a reasonable limit.

XRCed: Use wx.GetDefaultPyEncoding/wx.SetDefaultPyEncoding for
changing active encoding.  Fixed pasting siblings (Ctrl key pressed
while pasting).

wx.lib.filebrowsebutton: Bug fix from Chad Netzer for when
self.history is None.

wx.ogl: Patch from Davide Salomoni that adds an optional point
parameter to LineShape.InsertLineControlPoint allowing one to
optionally specify where the new control point has to be drawn.

wxMSW: setting foreground colour for wx.CheckBox now works when using
XP themes.

More updates to the docview library modules and sample apps from the
ActiveGrid folks.  Their sample IDE is now able to integrate with

wx.grid.Grid:  Ensure that the grid gets the focus when it is
left-clicked.  Note that if you have custom widgets that handle the
EVT_LEFT_DOWN event but do not call event.Skip() then you will
probably want to add a call to self.SetFocus in the event handler.

wxGTK:  Add wxSTAY_ON_TOP support [Patch 1206023]

wx.TreeCtrl:  wx.EVT_TREE_ITEM_MENU event made consistent on all
platforms.  The location of the click or the item is included in the
event as well.

wxGTK: Setting background colour of a window now only affects the
window itself, not the borders, scrollbars, etc.  (Bug #1204069)

Print framework:  Add more paper sizes and code to fallback to an
explicit paper size if a known paper size is not found for the

wxMac: Applied patch for bug #1206181 Option-key decodes are wrong,
also applied patch for bug #1205691 Modified Fn keys don't work.

wx.Image: Fixed to preserve alpha channel in Rotate90 method.

wxMSW: Fixed incorrect background colour on wx.CheckListBox.

wxMSW: Fixed drawing of owner drawn buttons with multiline labels

Removed a bunch of unnecessary files, and removed or replaced images
that we're not sure of their origin or license.

The default DoGetBestSize is updated to not always return the current
size if the window has no sizer, children, or minsize set.  Instead
the current size is set as the minsize.  This solves the occasional
problem where a sizer may cause a childless panel to grow but never

wxMSW: When converting a wx.Icon to a bitmap check if the icon has an
alpha channel and set the bitmap to use it.

Fixed the wrong class name used in wx.PyScrolledWindow's call to

wxMSW: patch #1207202, Fixes GDI leak when using stock cursors.

wx.calendar.CalendarCtrl: Patch #1207531, Keeps the CalendarCtrl wide
enough even when the weekday names for the locale are shorter than

Made GridCellNumberEditor.StartingKey also insert the typed char when
there is a range of allowed values (so a wx.SpinCtrl is used instead
of a wx.TextCtrl.)

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

More information about the Python-announce-list mailing list