We're back after a server migration that caused effbot.org to fall over a bit harder than expected. Expect some glitches.

What platform-independent GUI toolkits exist for Python?

Depending on what platform(s) you are aiming at, there are several. Some of the most popular are described below. For more alternatives, see the Python Wiki.


Standard builds of Python include an object-oriented interface to the Tcl/Tk widget set, called Tkinter. This is probably the easiest to install and use.

For more info about Tk, including pointers to the source, see the Tcl/Tk home page at http://www.tcl.tk. Tcl/Tk is fully portable to the MacOS, Windows, and Unix platforms.


wxWidgets is a portable GUI class library written in C++ that’s an interface to various platform-specific libraries. wxPython is a Python interface to wxWidgets. wxWidgets supports Windows and MacOS; on Unix variants, it supports both GTk+ and Motif toolkits. wxWidgets preserves the look and feel of the underlying graphics toolkit, and there is quite a rich widget set and collection of GDI classes. See http://www.wxwidgets.org for more information.


There are bindings available for the Qt toolkit (PyQt) and for KDE (PyKDE). If you’re writing open source software, you don’t need to pay for PyQt, but if you want to write proprietary applications, you must buy a PyQt license from Riverbank Computing and a Qt license from Trolltech.


PyGTk bindings for the GTk+ toolkit have been implemented by James Henstridge; see http://www.pygtk.org.


For OpenGL bindings, see PyOpenGL.