[Pythonmac-SIG] Point of Information?

Corran Webster cwebster@nevada.edu
Wed, 22 Mar 2000 11:27:27 -0800


> Hi all;
>
> I've perused alot of the archives of the SIG recently, but still haven't
> found the answer that I'm looking for.  I want to write some python code
> that requires a GUI.  The sig archives seem to indicate that TK is not the
> way to go, that it's buggy and perhaps not well supported.  So...my
> question is: any recommendations on which packages to use?  I've written
> stuff on Linux boxes using PMW - is this going to be portable to the Mac,
> or is the code not robust enough?  If so, what packages have people used?

At the moment, Tkinter is the easiest way to do cross-platform GUIs on the
mac.  At least simple GUI's should be possible witht he current state of
the code.

PMW is built on top of Tkinter (at least, AFAIK), so any problems with Tk
will surface there as well.  OTOH, if you have Tkinter working then PMW
should be fairly easy to get to work on a mac since it is pure Python.

Mac Python has pretty good support for native mac GUIs - you will need to
know a bit about mac GUI programming for this, in particular you will need
Apple's Inside Macintosh to get all the details.  The python interface is
basically a wrapper about the C interface to the toolbox calls.  You should
also read up on the FrameWork module which provides many basic features
that an application will need.  The Demo subdirectory of the mac
distribution has several examples of this approach.

At a slightly higher level are Just van Rossum's "W Widgets" which is what
the IDE uses.  I've written some notes on how to use these to build
applications at:

http://www.nevada.edu/~cwebster/Python/WWidgets/index.html

Both of these are not cross-platform.

A different, cross-platform solution would be to use JPython which gives
you access to Java's GUI.

Finally, I believe that people are working on a port of wxPython to the
mac, which has the potential of providing another cross-platform solution.

Hopefully this should help you.

Regards,
Corran