blob: 944687bb02c31f3356858a78987053a2d0b04a20 [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 Brandlae98f502008-05-11 14:56:04 +000025bundled with Python. Although its standard documentation is weak, good
26material is available, which includes: references, tutorials, a book and
Georg Brandl6634bf22008-05-20 07:13:37 +000027others. :mod:`Tkinter` is also famous for having an outdated look and feel,
Georg Brandlae98f502008-05-11 14:56:04 +000028which 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
30alternatives, see the :ref:`other-gui-packages` section.
Georg Brandl8ec7f652007-08-15 14:28:01 +000031
32.. toctree::
33
34 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