Which GUI?

J.C.Travers J.C.Travers at durham.ac.uk
Thu Feb 17 09:14:28 EST 2000


Anders M Eriksson wrote:
> But now I'm reaching the point of no return and I need to create apps
> with a GUI, but which one?
> 
> I'm using Windows NT as my development platform
> I would like pro and cons for the different GUI's

This is a hot topic, and you will get as many different answers as
people you ask, so all I can give is my personal opinion.

Firstly, I would advise against Tkinter. For some reason Tkinter is
relativly popular (it's portable I suppose), but it is probably the
hardest GUI to code in (i.e. it is built on top of Tcl and so has to use
some of the style of that scripting language). Also, it lacks some key
widgets (i.e. it lacks multiple coloumn list boxes and tables... these
can be added on third party however, but this is just more work).

The best GUI in my opinion is pyQT. It is a fully supported
widget/application set written in C++, so it is natural for python
(object-orientated). The python wrappers for it are brilliant and the
documentation is massive (unlike Tk). It is available on your platform
(as well as Unix and Mac) and has every conceivable widget you could
want. (Particular tables and multicolumn list boxes). It is simple and
logical to code in.

Alternatively there is wxPython. This is a python wrapper to wxWin, that
is also written in C++ and hance beautifully compatible with pythons
object-orientation. It is not quite as feature rich as Qt, but is
leagues ahead of Tkinter and gaining fast on QT. It is available on all
Windows and Unices and is soon to be on Mac as well as Beos. It again is
simple and logical to code in and some people would say it has a more
free liscence than QT (though this is only relevant to comercial apps...
you may need to pay royalties to QT if you use it comercially on Windows
based systems).

In conclusion, go for QT unless you need comercial apps, in which case
go for wxWin. Of course this is all MHO.

You can find links to all of these GUI's through Parnassus.

Cheers,
John Travers




More information about the Python-list mailing list