/Doc/library/othergui.rst
ReStructuredText | 78 lines | 64 code | 14 blank | 0 comment | 0 complexity | ac17ae092e2c387968272aeb42049a2e MD5 | raw file
1.. _other-gui-packages: 2 3Other Graphical User Interface Packages 4======================================= 5 6There 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 32The major cross-platform (Windows, Mac OS X, Unix-like) GUI toolkits that are 33also 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 72PyGTK, PyQt, and wxPython, all have a modern look and feel and more 73widgets than Tkinter. In addition, there are many other GUI toolkits for 74Python, both cross-platform, and platform-specific. See the `GUI Programming 75<http://wiki.python.org/moin/GuiProgramming>`_ page in the Python Wiki for a 76much more complete list, and also for links to documents where the 77different GUI toolkits are compared. 78