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
[incr Tk] by Michael McLennan and
Widgets] by Mark Ulferts. Several of the megawidgets are direct
translations from the itcl to Python. It offers most of the range of
[incr Widgets] does, and is almost as complete as
Tix, lacking however Tix's fast HList widget for drawing trees.
is a Widget Construction Kit that allows you to write new Tkinter
widgets in Python using Mixins. It is built on top of Tkinter,
and does not offer the extended range of widgets that Tix does,
but does allow a form of building mega-widgets. The project is
still in the early stages.
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 of Tkinter.
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 capabilities.
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
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 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 desired behavior.
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
See About this document... for information on suggesting changes.