wxPython 4.0.0b1

Robin Dunn robin at alldunn.com
Mon Jul 24 23:47:16 EDT 2017

Announcing wxPython 4.0.0b1

PyPI:   https://pypi.python.org/pypi/wxPython/4.0.0b1
Extras: https://extras.wxPython.org/wxPython4/extras/

Changes in this release include the following:

* Various little tweaks and fixes in some of the demo samples.

* Fixes in wx.lib.imagebrowser so it looks and acts better on OSX.

* Fixed problem due to wxModules not being initialized when non-core
  extensions are imported.

* Fixed issue in wx.TreeItemId comparison methods affecting PyCrust and
  other tools.

* Restore the simplified names for the wxGridSelectionModes enum that
  were present in Classic.

* Add accessors for the internal widgets in the wx.EditableListBox.

* Fixes in wx.lib.eventwatcher to avoid deprecated methods and other
  Phoenix related changes.

* Correctly transfer ownership of the input stream in wx.FSFile.

* Ensure the license files are getting into the source tarball and the
  binary wheel files.

* Add wrappers for the classes derived from wxImageHandler.

* Fix wx.lib.plot.polyline to not attempt to draw the spline if there
  are less than 3 points.

* Transfer the ownership of the prop arg in
  wx.propgrid.PGProperty.AddChild and AddPrivateChild. Various other
  fixes in wx.propgrid classes for backwards compatibility and to fix
  problems caused by mismatches between customizations that were done
  for Classic and how Phoenix does things by default. Also solved some
  problems in the PropertyGrid sample in the demo.

* Add missing HtmlCell.FindCellByPos.

* Enhance the DLG_UNIT convenience function such that if something
  other than a wx.Point or wx.Size was passed in then the return value
  will be a tuple. This eliminates some surprises that are possible due
  to auto-conversion of tuples to points or sizes.

What is wxPython?

wxPython is a cross-platform 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 set of Python extension modules that
wrap the GUI components of the popular wxWidgets cross platform
library, which is written in C++. Supported platforms are Microsoft
Windows, Mac OS X and macOS, and Linux or other unix-like systems with
GTK2 or GTK3 libraries. In most cases the native widgets are used on
each platform to provide a 100% native look and feel for the

What is wxPython Phoenix?

wxPython's Project Phoenix is a new from-the-ground-up implementation
of wxPython, created with the intent of making wxPython “better,
stronger, faster than he was before.” In other words, this new
implementation is focused on improving speed, maintainability and
extensibility of wxPython, as well as removing most of the cruft that
had accumulated over the long life of Classic wxPython.

The project has been in development off and on, mostly behind the
scenes, for many years. For the past few years automated snapshot
builds have been available for those adventurous enough to try it, and
many people eventually started using the snapshots in their projects,
even for production releases.  While there are still some things on
the periphery that need to be completed, the core of the new wxPython
extension modules which wrap the wxWidgets code has been stable for a
long time now.

Due to some things being cleaned up, reorganized, simplified and
dehackified wxPython Phoenix is not completely backwards compatible
with wxPython Classic.  This is intended. In general, however, the API
differences tend to be minor and some applications can use Phoenix
with slight, or even no modifications.  In some other cases the
correct way to do things was also available in Classic and it's only
the wrong way that has been removed from Phoenix.  For more
information there is a Migration Guide document available at:

The new wxPython API reference documentation, including all
Python-specific additions and customizations, and docs for the wx.lib
package, is located at: https://docs.wxpython.org/

Happy Hacking!

Robin Dunn
Software Craftsman

More information about the Python-announce-list mailing list