blob: e1c25b63595914983177f04527493c8298270292 [file] [log] [blame]
Georg Brandl8ec7f652007-08-15 14:28:01 +00001.. _tkinter:
2
3*********************************
4Graphical User Interfaces with Tk
5*********************************
6
7.. index::
8 single: GUI
9 single: Graphical User Interface
10 single: Tkinter
11 single: Tk
12
13Tk/Tcl has long been an integral part of Python. It provides a robust and
14platform independent windowing toolkit, that is available to Python programmers
Georg Brandl6634bf22008-05-20 07:13:37 +000015using the :mod:`Tkinter` module, and its extension, the :mod:`Tix` module.
Georg Brandl8ec7f652007-08-15 14:28:01 +000016
Georg Brandl6634bf22008-05-20 07:13:37 +000017The :mod:`Tkinter` module is a thin object-oriented layer on top of Tcl/Tk. To
18use :mod:`Tkinter`, you don't need to write Tcl code, but you will need to
Georg Brandl8ec7f652007-08-15 14:28:01 +000019consult the Tk documentation, and occasionally the Tcl documentation.
Georg Brandl6634bf22008-05-20 07:13:37 +000020:mod:`Tkinter` is a set of wrappers that implement the Tk widgets as Python
Georg Brandl8ec7f652007-08-15 14:28:01 +000021classes. In addition, the internal module :mod:`_tkinter` provides a threadsafe
22mechanism which allows Python and Tcl to interact.
23
Georg Brandl6634bf22008-05-20 07:13:37 +000024:mod:`Tkinter`'s chief virtues are that it is fast, and that it usually comes
Georg Brandlc62ef8b2009-01-03 20:55:06 +000025bundled with Python. Although its standard documentation is weak, good
26material is available, which includes: references, tutorials, a book and
27others. :mod:`Tkinter` is also famous for having an outdated look and feel,
28which has been vastly improved in Tk 8.5. Nevertheless, there are many other
29GUI libraries that you could be interested in. For more information about
Georg Brandlae98f502008-05-11 14:56:04 +000030alternatives, see the :ref:`other-gui-packages` section.
Georg Brandl8ec7f652007-08-15 14:28:01 +000031
32.. toctree::
Georg Brandlc62ef8b2009-01-03 20:55:06 +000033
Georg Brandl8ec7f652007-08-15 14:28:01 +000034 tkinter.rst
Georg Brandl6634bf22008-05-20 07:13:37 +000035 tix.rst
36 scrolledtext.rst
37 turtle.rst
Georg Brandl8ec7f652007-08-15 14:28:01 +000038 idle.rst
39 othergui.rst
40
Georg Brandlb19be572007-12-29 10:57:00 +000041.. Other sections I have in mind are
42 Tkinter internals
43 Freezing Tkinter applications
Georg Brandl8ec7f652007-08-15 14:28:01 +000044
45