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

user1630938 picture user1630938 · Oct 25, 2013 · Viewed 54.3k times · Source
  • Need advise from those who have minimum health experience to design GUI interfaces with Python.
  • When and what to choose depending of GUI complexity?
  • Which GUI builders can we use to have a better development quality?

This is my first GUI design, and I've did it without GUI builder, at the moment stacked because I've understood, that ObjectListView wrapper for wx.ListCtrl haven't natively to include easily progress bar or gauge elements. (see column "Upload status" from picture).

Note: ObjectListView has progress bar in .Net version, at the moment not in wx.Python.

P.S: I found this wonderful Python GTK+ Full Stack Tutorial

enter image description here

Answer

Mike Driscoll picture Mike Driscoll · Oct 25, 2013

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.