blob: 8451f6d5e032a4361aff1111a1b230868411ae2d [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
15using the :mod:`Tkinter` module, and its extension, the :mod:`Tix` module.
16
17The :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
19consult the Tk documentation, and occasionally the Tcl documentation.
20:mod:`Tkinter` is a set of wrappers that implement the Tk widgets as Python
21classes. In addition, the internal module :mod:`_tkinter` provides a threadsafe
22mechanism which allows Python and Tcl to interact.
23
24:mod:`Tkinter`'s chief virtues are that it is fast, and that it usually comes
25bundled with Python. Although it has been used to create some very good
Georg Brandl5b548872008-05-11 10:33:27 +000026applications, including IDLE, its standard documentation is weak (but there
27are some good books and tutorials), and it has an outdated look and
Georg Brandl8ec7f652007-08-15 14:28:01 +000028feel. For more modern, better documented, and much more extensive GUI
29libraries, see the :ref:`other-gui-packages` section.
30
31.. toctree::
32
33 tkinter.rst
34 tix.rst
35 scrolledtext.rst
36 turtle.rst
37 idle.rst
38 othergui.rst
39
Georg Brandlb19be572007-12-29 10:57:00 +000040.. Other sections I have in mind are
41 Tkinter internals
42 Freezing Tkinter applications
Georg Brandl8ec7f652007-08-15 14:28:01 +000043
44