wxPython vs PyQt vs PyGTK: when and what to use?
Solution 1:
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.
Solution 2:
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.
Solution 3:
PyQT in Windows
PyGTK
PyQT in KDE
- PyQT in Windows
- PyGTK+3
- PyQT in KDE
So if you go with PyQT the design of your application will look different on the different operating systems and desktop environments. I don't have Macintosh so cannot provide a picture how will look my application in it. This is one of my applications written in PyQT and PyGTK+3. Keep in mind that the design will stay as is with PyGTK+3, so there won't be any differences as they are in PyQT. It's definitely the most easiest to learn, as there is a Glade program which will help you to build your design without spending even a minute coding it manually. But with PyQT you can fine tune the application design and it won't make you tear your hair from bugs.