Having tried most of the options out there, personaly I've settled on two. I use Tkinter for ver simple GUIs such as single dialog boxes or results displays. The advantage of it being built-in to Python outweighs it's limitations.
For anything more complex, I go for PyQT every time. QTDesigner is a full drag-and-drop GUI builder that rivals Visual Studio, and PyQT comes with a script to convert QTDesigner XML files into Python code, which you then subclass in your own script and attach your own code to the GUI widgets. There's a longer learning curve than Tkinter, but it's very much worth it for access to QTs mature and rich framework, with excellent professional-class documentation. Sorry, but wxWidgets which I have used doesn't come anywhere close. The main objection to using PyQT untill now was that for commercial development you needed to buy a license (it was free for GPL projects). That's rapidly becoming a non-issue as the core QT framework is now LGPL and Nokia have a project underway to produce PyQT compatible LGPL python bindings under the PySide project. Simon Hibbs -- http://mail.python.org/mailman/listinfo/python-list