16.6 Other Graphical User Interface Packages
There are an number of extension widget sets to Tkinter.
- Python megawidgets
- is a toolkit for building high-level compound widgets in Python using the Tkinter module. It consists of a
set of base classes and a library of flexible and extensible megawidgets built on this
foundation. These megawidgets include notebooks, comboboxes, selection widgets, paned
widgets, scrolled widgets, dialog windows, etc. Also, with the Pmw.Blt interface to BLT,
the busy, graph, stripchart, tabset and vector commands are be available.
The initial ideas for Pmw were taken from the Tk
Tk] by Michael McLennan and
[incr Widgets] by Mark Ulferts. Several
of the megawidgets are direct translations from the itcl to Python. It offers most of
the range of widgets that
[incr Widgets] does, and is almost as complete as
Tix, lacking however Tix's fast HList widget for drawing trees.
- Tkinter3000 Widget
Construction Kit (WCK)
- is a library that allows you to write new Tkinter widgets in pure Python. The WCK
framework gives you full control over widget creation, configuration, screen appearance,
and event handling. WCK widgets can be very fast and light-weight, since they can
operate directly on Python data structures, without having to transfer data through the
Tk is not the only GUI for Python, but is however the most commonly used one.
- is a GUI toolkit that combines the most attractive attributes of Qt, Tk, Motif, and
GTK+ in one powerful and efficient package. It is implemented in C++. wxWindows supports
two flavors of Unix implementation: GTK+
and Motif, and under Windows, it has a standard Microsoft Foundation Classes (MFC)
appearance, because it uses Win32 widgets. There is a Python class wrapper, independent
wxWindows is much richer in widgets than Tkinter, with its help system, sophisticated HTML
and image viewers, and other specialized widgets, extensive documentation, and printing
- PyQt is a sip-wrapped binding to the Qt toolkit. Qt is an
extensive C++ GUI toolkit that is available for Unix,
Windows and Mac OS X. sip is a tool for generating bindings for
C++ libraries as Python classes, and is specifically designed for Python. An online
manual is available at http://www.opendocspublishing.com/pyqt/
(errata are located at http://www.valdyas.org/python/book.html).
- PyKDE is a sip-wrapped interface to the KDE desktop libraries.
KDE is a desktop environment for Unix
computers; the graphical components are based on Qt.
- is a Python extension module which provides an interface to the FOX GUI. FOX is a C++
based Toolkit for developing Graphical User Interfaces easily and effectively. It offers
a wide, and growing, collection of Controls, and provides state of the art facilities
such as drag and drop, selection, as well as OpenGL widgets for 3D graphical
manipulation. FOX also implements icons, images, and user-convenience features such as
status line help, and tooltips.
Even though FOX offers a large collection of controls already, FOX leverages C++ to
allow programmers to easily build additional Controls and GUI elements, simply by taking
existing controls, and creating a derived class which simply adds or redefines the
- is a set of bindings for the GTK
widget set. It provides an object oriented interface that is slightly higher level than
the C one. It automatically does all the type casting and reference counting that you
would have to do normally with the C API. There are also bindings to GNOME, and a tutorial