1.. _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
15using the :mod:`tkinter` package, and its extension, the :mod:`tkinter.tix` and
16the :mod:`tkinter.ttk` modules.
17
18The :mod:`tkinter` package is a thin object-oriented layer on top of Tcl/Tk. To
19use :mod:`tkinter`, you don't need to write Tcl code, but you will need to
20consult the Tk documentation, and occasionally the Tcl documentation.
21:mod:`tkinter` is a set of wrappers that implement the Tk widgets as Python
22classes.  In addition, the internal module :mod:`_tkinter` provides a threadsafe
23mechanism which allows Python and Tcl to interact.
24
25:mod:`tkinter`'s chief virtues are that it is fast, and that it usually comes
26bundled with Python. Although its standard documentation is weak, good
27material is available, which includes: references, tutorials, a book and
28others. :mod:`tkinter` is also famous for having an outdated look and feel,
29which has been vastly improved in Tk 8.5. Nevertheless, there are many other
30GUI libraries that you could be interested in. For more information about
31alternatives, see the :ref:`other-gui-packages` section.
32
33.. toctree::
34
35   tkinter.rst
36   tkinter.ttk.rst
37   tkinter.tix.rst
38   tkinter.scrolledtext.rst
39   idle.rst
40   othergui.rst
41
42.. Other sections I have in mind are
43   Tkinter internals
44   Freezing Tkinter applications
45
46
47