GUI toolkit(s) status

Mark Summerfield list at qtrac.plus.com
Wed Nov 26 06:47:53 EST 2014


I've done a fair bit of Python GUI programming, so here's my 2c.

Tkinter is small, fast, and v. frustrating to use (but maybe the latter is just me). It looks good on Windows (from 8.5), ugly on Linux, and OK on Mac (but you have to do a fair bit of if MAC do this else do that.

The next three work on Win/Mac/Linux:

wxPython is available for Python 3 (as Phoenix) but it is big and there are lots of "near duplicate" widgets so it is quite hard to find the right ones to use. The docs don't have many examples and aren't fully updated for Phoenix which is still under development.

PySide works only with Qt 4. It is big but easy to install. However, I don't know how long it'll be supported and it hasn't been ported to Qt 5 (yet).

PyQt works with Qt 4 and Qt 5 is solid but is dual licensed. And it is big of course.

PyGObject (PyGtk's successor) is very nice in principle but effectively Unix only. I've never managed to create version-specific instances of it (to test against particular versions), something that's easy with PySide and PyQt (don't know about wxWidgets).

There's kivy which claims to be cross-platform but I haven't tried it.

And there is a pure-Python GUI initiative: PyGUI, but I'm not sure if that's still going or has got stuck.

I really hope that PyGUI or some other pure-python (+ maybe ctypes) GUI library is created for Python, but it is a really major undertaking...



More information about the Python-list mailing list