Linux Today: Linux News On Internet Time.

developerWorks: Qt and PyQt, An Advanced GUI Library for Python

Feb 17, 2003, 11:00 (0 Talkback[s])
(Other stories by David Mertz, Boudewijn Rempt)

"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..."

Complete Story

Related Stories: