ANNOUNCE: Pmw megawidgets 0.8.5
gregm at iname.com
Wed Feb 14 06:54:18 EST 2001
* Python 2.0 release
* Pmw moved to SourceForge
Pmw new home: http://pmw.sourceforge.net/
Pmw maintainer: Greg McFarlane <gregm at iname.com>
A new release of Pmw is out. This is mainly a bug fix release
for python 2.0, fixing a problem with Pmw.Counter caused by a
change in the ascii representation of a long (no 'L').
Also, the home for Pmw development has moved to SourceForge.
The Pmw sources and documentation are under CVS control and
releases can be downloaded from there.
I would like to thank Graham Dumpleton for allowing Pmw to
be hosted at his web site for so long. I hope SourceForge
will match the stability of Pmw's old site.
Other changes in this release are:
- Minor fixes to tests for Tk 8.3.
- Fixed bug in Pmw.ScrolledFrame when given invalid flex options.
- Added pmw2 font scheme, since the font used for balloon text with
pmw1 is too small on Linux.
- Removed syntax coloring from code window in demos. It did not
look good and the pattern matching was not always correct.
- Changed font size used for demos to 12 for Unix, since 14 looked
too big under Linux.
For more information on Pmw, see the (new) home page at
You can fetch the entire distribution from
If you have any comments, enhancements or new contributions, please
contact me (gregm at iname.com).
What is Pmw?
Pmw is a GUI toolkit for building high-level compound widgets in
Python using the Tkinter module. These compound widgets, called
'megawidgets', are constructed using other Tkinter widgets or Pmw
megawidgets as component parts. It promotes consistent look and
feel within and between graphical applications, is highly
configurable and is easy to use.
Pmw consists of:
- A few base classes, providing a foundation for building
- A library of flexible and extensible megawidgets built on
the base classes, such as buttonboxes, notebooks,
comboboxes, selection widgets, paned widgets, scrolled
widgets and dialog windows.
- A lazy importer/dynamic loader which is automatically
invoked when Pmw is first imported. This gives unified
access to all Pmw classes and functions through the Pmw.
prefix. It also speeds up module loading time by only
importing Pmw sub-modules when needed.
- Reference documentation, consisting of complete listings of
megawidget options, methods and components. Full
descriptions are also available for all the base classes and
several other megawidget classes. Descriptions of the other
megawidgets will be released soon.
- A test framework and tests for Pmw megawidgets.
- A slick demonstration of the megawidgets.
- An interface to the BLT busy, graph and vector commands.
The interface to Pmw megawidgets is similar to basic Tk widgets,
so it is easy for developers to include both megawidgets and basic
Tk widgets in their graphical applications. In addition, Pmw
megawidgets may themselves be extended, using either inheritance
The use of the Pmw megawidgets replaces common widget combinations
with higher level abstractions. This simplifies code, making it
more readable and maintainable. The ability to extend Pmw
megawidgets enables developers to create new megawidgets based on
Greg McFarlane Really Good Software Pty Ltd Sydney Australia gregm at iname.com
More information about the Python-list