wxPython vs PyQt vs PyGTK: when and what to use?

Don't use PyGTK if you want cross platform compatibility. GTK3 doesn't work on windows yet (last I checked) and GTK2 has an awful memory leak under windows which has been fixed in the latest source, but no new release has been compiled for windows.

I would put my vote with PySide (more flexible license for commercial options) over PyQt and PySide/PyQt over wxPython simply because I think the GUI designer tool are better! Being able to rapidly create and edit the GUI graphically (and independently of your applications code) is a huge time-saver.


Update: Actually, I'd recommend PyQt over PySide now for stability reasons and long term support. PySide development is lagging, there are very few people fixing bugs and no-one working on support for Qt 5.


I'm not really sure what you're asking. wxPython and pyQt / pyside are probably the easiest to use on all platforms and will look right on most Operating systems. I know wxPython is specifically designed to wrap the native widgets so if you want your app to look native, I think wxPython is the way to go. If you want to be able to theme/skin your app, then PyQT or pyGTK may be better.

PyQt/PySide supports mobile to some degree, which I don't believe the other two do. If you plan to program for mobile, then you might want to go that route or look at Kivy.

PyQt/PySide have a pretty powerful WYSIWYG editor. wxPython has a couple, but I don't think any of them support all of wx's widgets and their support is spotty. That hasn't stopped me as I do all my coding by hand anyway.

As usual, you'll probably need to read lots of documentation and try each of them to see which one fits your brain and meets your needs best.