Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 1 | .. _tkinter: |
| 2 | |
| 3 | ********************************* |
| 4 | Graphical User Interfaces with Tk |
| 5 | ********************************* |
| 6 | |
| 7 | .. index:: |
| 8 | single: GUI |
| 9 | single: Graphical User Interface |
| 10 | single: Tkinter |
| 11 | single: Tk |
| 12 | |
| 13 | Tk/Tcl has long been an integral part of Python. It provides a robust and |
| 14 | platform independent windowing toolkit, that is available to Python programmers |
Guilherme Polo | cda93aa | 2009-01-28 13:09:03 +0000 | [diff] [blame] | 15 | using the :mod:`Tkinter` module, and its extensions, the :mod:`Tix` and |
| 16 | the :mod:`ttk` modules. |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 17 | |
Georg Brandl | 6634bf2 | 2008-05-20 07:13:37 +0000 | [diff] [blame] | 18 | The :mod:`Tkinter` module is a thin object-oriented layer on top of Tcl/Tk. To |
| 19 | use :mod:`Tkinter`, you don't need to write Tcl code, but you will need to |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 20 | consult the Tk documentation, and occasionally the Tcl documentation. |
Georg Brandl | 6634bf2 | 2008-05-20 07:13:37 +0000 | [diff] [blame] | 21 | :mod:`Tkinter` is a set of wrappers that implement the Tk widgets as Python |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 22 | classes. In addition, the internal module :mod:`_tkinter` provides a threadsafe |
| 23 | mechanism which allows Python and Tcl to interact. |
| 24 | |
Georg Brandl | 6634bf2 | 2008-05-20 07:13:37 +0000 | [diff] [blame] | 25 | :mod:`Tkinter`'s chief virtues are that it is fast, and that it usually comes |
Georg Brandl | c62ef8b | 2009-01-03 20:55:06 +0000 | [diff] [blame] | 26 | bundled with Python. Although its standard documentation is weak, good |
| 27 | material is available, which includes: references, tutorials, a book and |
| 28 | others. :mod:`Tkinter` is also famous for having an outdated look and feel, |
| 29 | which has been vastly improved in Tk 8.5. Nevertheless, there are many other |
| 30 | GUI libraries that you could be interested in. For more information about |
Georg Brandl | ae98f50 | 2008-05-11 14:56:04 +0000 | [diff] [blame] | 31 | alternatives, see the :ref:`other-gui-packages` section. |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 32 | |
| 33 | .. toctree:: |
Georg Brandl | c62ef8b | 2009-01-03 20:55:06 +0000 | [diff] [blame] | 34 | |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 35 | tkinter.rst |
Guilherme Polo | cda93aa | 2009-01-28 13:09:03 +0000 | [diff] [blame] | 36 | ttk.rst |
Georg Brandl | 6634bf2 | 2008-05-20 07:13:37 +0000 | [diff] [blame] | 37 | tix.rst |
| 38 | scrolledtext.rst |
| 39 | turtle.rst |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 40 | idle.rst |
| 41 | othergui.rst |
| 42 | |
Georg Brandl | b19be57 | 2007-12-29 10:57:00 +0000 | [diff] [blame] | 43 | .. Other sections I have in mind are |
| 44 | Tkinter internals |
| 45 | Freezing Tkinter applications |
Georg Brandl | 8ec7f65 | 2007-08-15 14:28:01 +0000 | [diff] [blame] | 46 | |
| 47 | |