What GUI toolkit looks the best?

Brian Kelley bkelley at wi.mit.edu
Thu Dec 11 23:13:42 CET 2003


Paul Rubin wrote:

> Bruno Desthuilliers <bdesth.nospam at removeme.free.fr> writes:
> 
>>>I guess
>>>I can get the client to pay
>>
>>Why ? It's free (as in free beer and free speech)
> 
> 
> I mean for the build tools (Visual C++ or whatever).  I can't really
> use the WxWindows source code without a way to compile it.  I'm getting
> discouraged to hear that WxWindows itself has numerous bugs though.

I think that these might be a bit overblown.  I have released some 
medium-scale academic research packages to beta-testers using wxPython 
and have had no problems so far.  There are about 150 installations so 
far at ten different sites.  I have had more problems with different 
installation styles of microsoft excel than I have had with supporting 
wxPython bugs.  Your mileage may vary however, and I certainly don't use 
all the widgets (read textctrl).

The largest hurdles are with differences between windows/linux and mac, 
but I have experienced similar differences with Tkinter.  Not for the 
GUI itself but with dealing with the clipboard etc.  You may get 
different behavior on different platforms so debugging on those 
platforms is a must.  I've been luck so far and the documentation is 
pretty good.

I have seen wxPython crashes during development but they all have to do 
with errors in the constructors of subclassed widgets.  If you raise an 
exception in a constructor before calling the baseclass' __init__ 
function wxPython get's very unhappy and dies miserably taking 
everything down.  Two solutions/workarounds are

1) always call the subclassed constructor first
2) use a try...except block where call the base __init__ with default 
arguments and raise an event that will close down the app nicely.

I haven't been able to figure out a way to do this automatically on 
constructor errors yet.  If I could I would submit it to wxPython.

If you are running on windows or redhat linux, you won't need to build 
wxPython/wxWindows, you can just download and install the binaries.

If you want to build wxPython/wxWindows by yourself you will just need 
Visual C++.

Brian





More information about the Python-list mailing list