|
1 .. _other-gui-packages: |
|
2 |
|
3 Other Graphical User Interface Packages |
|
4 ======================================= |
|
5 |
|
6 There are an number of extension widget sets to :mod:`Tkinter`. |
|
7 |
|
8 .. seealso:: |
|
9 |
|
10 `Python megawidgets <http://pmw.sourceforge.net/>`_ |
|
11 is a toolkit for building high-level compound widgets in Python using the |
|
12 :mod:`Tkinter` module. It consists of a set of base classes and a library of |
|
13 flexible and extensible megawidgets built on this foundation. These megawidgets |
|
14 include notebooks, comboboxes, selection widgets, paned widgets, scrolled |
|
15 widgets, dialog windows, etc. Also, with the Pmw.Blt interface to BLT, the |
|
16 busy, graph, stripchart, tabset and vector commands are be available. |
|
17 |
|
18 The initial ideas for Pmw were taken from the Tk ``itcl`` extensions ``[incr |
|
19 Tk]`` by Michael McLennan and ``[incr Widgets]`` by Mark Ulferts. Several of the |
|
20 megawidgets are direct translations from the itcl to Python. It offers most of |
|
21 the range of widgets that ``[incr Widgets]`` does, and is almost as complete as |
|
22 Tix, lacking however Tix's fast :class:`HList` widget for drawing trees. |
|
23 |
|
24 `Tkinter3000 Widget Construction Kit (WCK) <http://tkinter.effbot.org/>`_ |
|
25 is a library that allows you to write new Tkinter widgets in pure Python. The |
|
26 WCK framework gives you full control over widget creation, configuration, screen |
|
27 appearance, and event handling. WCK widgets can be very fast and light-weight, |
|
28 since they can operate directly on Python data structures, without having to |
|
29 transfer data through the Tk/Tcl layer. |
|
30 |
|
31 |
|
32 The major cross-platform (Windows, Mac OS X, Unix-like) GUI toolkits that are |
|
33 also available for Python: |
|
34 |
|
35 .. seealso:: |
|
36 |
|
37 `PyGTK <http://www.pygtk.org/>`_ |
|
38 is a set of bindings for the `GTK <http://www.gtk.org/>`_ widget set. It |
|
39 provides an object oriented interface that is slightly higher level than |
|
40 the C one. It comes with many more widgets than Tkinter provides, and has |
|
41 good Python-specific reference documentation. There are also bindings to |
|
42 `GNOME <http://www.gnome.org>`_. One well known PyGTK application is |
|
43 `PythonCAD <http://www.pythoncad.org/>`_. An online `tutorial |
|
44 <http://www.pygtk.org/pygtk2tutorial/index.html>`_ is available. |
|
45 |
|
46 `PyQt <http://www.riverbankcomputing.co.uk/pyqt/index.php>`_ |
|
47 PyQt is a :program:`sip`\ -wrapped binding to the Qt toolkit. Qt is an |
|
48 extensive C++ GUI application development framework that is |
|
49 available for Unix, Windows and Mac OS X. :program:`sip` is a tool |
|
50 for generating bindings for C++ libraries as Python classes, and |
|
51 is specifically designed for Python. The *PyQt3* bindings have a |
|
52 book, `GUI Programming with Python: QT Edition |
|
53 <http://www.commandprompt.com/community/pyqt/>`_ by Boudewijn |
|
54 Rempt. The *PyQt4* bindings also have a book, `Rapid GUI Programming |
|
55 with Python and Qt <http://www.qtrac.eu/pyqtbook.html>`_, by Mark |
|
56 Summerfield. |
|
57 |
|
58 `wxPython <http://www.wxpython.org>`_ |
|
59 wxPython is a cross-platform GUI toolkit for Python that is built around |
|
60 the popular `wxWidgets <http://www.wxwidgets.org/>`_ (formerly wxWindows) |
|
61 C++ toolkit. It provides a native look and feel for applications on |
|
62 Windows, Mac OS X, and Unix systems by using each platform's native |
|
63 widgets where ever possible, (GTK+ on Unix-like systems). In addition to |
|
64 an extensive set of widgets, wxPython provides classes for online |
|
65 documentation and context sensitive help, printing, HTML viewing, |
|
66 low-level device context drawing, drag and drop, system clipboard access, |
|
67 an XML-based resource format and more, including an ever growing library |
|
68 of user-contributed modules. wxPython has a book, `wxPython in Action |
|
69 <http://www.amazon.com/exec/obidos/ASIN/1932394621>`_, by Noel Rappin and |
|
70 Robin Dunn. |
|
71 |
|
72 PyGTK, PyQt, and wxPython, all have a modern look and feel and more |
|
73 widgets than Tkinter. In addition, there are many other GUI toolkits for |
|
74 Python, both cross-platform, and platform-specific. See the `GUI Programming |
|
75 <http://wiki.python.org/moin/GuiProgramming>`_ page in the Python Wiki for a |
|
76 much more complete list, and also for links to documents where the |
|
77 different GUI toolkits are compared. |
|
78 |