[wingide-users] Re: question

Wingware Support support at wingware.com
Thu Mar 25 08:54:24 MDT 2010

Marcin Krol wrote:
> Hello,
> I have a question regarding your choice of GTK as windowing toolkit: why 
> did you choose it over other portable windowing toolkits such as 
> wxWindows/wxPython for creating Wing IDE?

Yes, although the choice was made in 1999 and reviewed when GTK 2.x
came out in about 2002 and we still felt GTK was better at the time,
given also an existing code base (although the upgrade was a bear
anyway).  It certainly was true that wxPython was not yet really
ready in 2002.  We avoided Qt for a variety of lesser reasons
(similar to GTK but wasn't open source then, and we found bugs and
wondered about our ability to get fixes, etc).  I think Qt is
probably also a fine choice now.  GTK would be a fine choice too
if the native Mac port and Windows ports got a bit more attention.

> The reason I'm asking is that I recently created a few apps using 
> wxPython and I came to the conclusion that I like this toolkit a lot.
> This got me thinking over your reasons to select GTK over other 
> toolkits, where you presumably may have encountered some trouble or 
> "can't do this" situations; care to write a few sentences on your decision?

I might still select GTK over wxPython or Qt for some things -- it has
very good write-once-works-anywhere since it doesn't have different back
ends in quite the way as wx.  This is huge when it comes to testing and
releasing code.  We also like its asynchronous event loop and signal
architecture (easy to hook in sockets/etc and very nice to sub-class C
code in Python) although I don't really know how wx and qt compare at
this level now.

The downsides are, as noted, less than stellar maintenance for win32
and OS X ports, and also it's fairly hard to build (so we tend to get
stuck on one version quite a long time; which may or may not be bad)
and some of the widgets are a bit lousy (like the notebook's way of
scrolling through tabs; although this may be better in newer GTKs,
I am not sure).

Hope that helps.


Stephan Deibel
Wingware | Python IDE
Advancing Software Development


More information about the wingide-users mailing list