Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

People also ask

Which is better PyQt or wxPython?

WxPython has fewer convenience functions when compared to PyQt. For instance, copy and paste functionality is built right into PyQt, while it has to be coded by hand in wxPython (and is still partially subject to the platform it runs on).

What are wxPython PyQt and pyGTK?

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.

Which is better tkinter or wxPython?

wxPython has much better printing support than Tkinter. wxPython cons: wxPython requires a separate download which can be a pain to manage when you deploy your app. Documentation is very weak in my opinion; it's very hard to find specific information.


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.


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.


PyQT in Windows

PyQT in Windows

PyGTK

PyGTK

PyQT in KDE

PyQT in KDE

  1. PyQT in Windows
  2. PyGTK+3
  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.