"All in all, choosing a GUI toolkit for your application can be
a tricky matter. Programmers in Python, as in many languages, have
a wide variety of GUI toolkits to choose from, and each toolkit
comes with its own advantages and disadvantages. Some are faster
than others, some smaller; some easier to install and some more
cross-platform (more to the point, some support specific features
that you need to address). And of course, the various libraries are
accompanied by various licenses.
"For a Python programmer, the default GUI choice is Tk, via the
Tkinter binding--and it is easy to see why. Tkinter and the idle
IDE are written by Python's creators and come as the default on
most Python distributions. The standard Python documentation
discusses Tkinter, but no other GUI bindings. It's a conspiracy! At
least, it would be, if Tk and Tkinter weren't so darn good that
there's little reason for programmers to go looking for
substitutes. To tempt a Python programmer away from the default,
then, a toolkit must offer something extra. PyQt does.
"PyQt has a number of advantages over Tkinter (and a few
disadvantages as well). Qt and PyQt are quite fast; the design of
Qt and PyQt is thoroughly object-oriented; Qt comes with a much
larger collection of well-designed widgets than does Tk. On the
downside, Qt has a more restricted license than many toolkits (at
least on non-Linux platforms); it is often tricky to get Qt and
PyQt installed correctly; as well, Qt is a quite large library.
Users of your PyQt application will need to manage to install Qt
and PyQt, which makes distribution difficult..."