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` module, and its extensions, the :mod:`Tix` and
16the :mod:`ttk` modules.
17
18The :mod:`Tkinter` module 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   ttk.rst
37   tix.rst
38   scrolledtext.rst
39   turtle.rst
40   idle.rst
41   othergui.rst
42
43.. Other sections I have in mind are
44   Tkinter internals
45   Freezing Tkinter applications
46
47
48