summaryrefslogtreecommitdiff
path: root/devdocs/python~3.12/library%2Ftk.html
blob: d13b61ab9009d91edbbab4b9248f9669cfbace05 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 <span id="tkinter"></span><h1>Graphical User Interfaces with Tk</h1> <p id="index-0">Tk/Tcl has long been an integral part of Python. It provides a robust and platform independent windowing toolkit, that is available to Python programmers using the <a class="reference internal" href="tkinter#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code>tkinter</code></a> package, and its extension, the <a class="reference internal" href="tkinter.tix#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code>tkinter.tix</code></a> and the <a class="reference internal" href="tkinter.ttk#module-tkinter.ttk" title="tkinter.ttk: Tk themed widget set"><code>tkinter.ttk</code></a> modules.</p> <p>The <a class="reference internal" href="tkinter#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code>tkinter</code></a> package is a thin object-oriented layer on top of Tcl/Tk. To use <a class="reference internal" href="tkinter#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code>tkinter</code></a>, you don’t need to write Tcl code, but you will need to consult the Tk documentation, and occasionally the Tcl documentation. <a class="reference internal" href="tkinter#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code>tkinter</code></a> is a set of wrappers that implement the Tk widgets as Python classes.</p> <p><a class="reference internal" href="tkinter#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code>tkinter</code></a>’s chief virtues are that it is fast, and that it usually comes bundled with Python. Although its standard documentation is weak, good material is available, which includes: references, tutorials, a book and others. <a class="reference internal" href="tkinter#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code>tkinter</code></a> is also famous for having an outdated look and feel, which has been vastly improved in Tk 8.5. Nevertheless, there are many other GUI libraries that you could be interested in. The Python wiki lists several alternative <a class="reference external" href="https://wiki.python.org/moin/GuiProgramming">GUI frameworks and tools</a>.</p>  <ul> <li class="toctree-l1">
<a class="reference internal" href="tkinter"><code>tkinter</code> — Python interface to Tcl/Tk</a><ul> <li class="toctree-l2"><a class="reference internal" href="tkinter#architecture">Architecture</a></li> <li class="toctree-l2"><a class="reference internal" href="tkinter#tkinter-modules">Tkinter Modules</a></li> <li class="toctree-l2">
<a class="reference internal" href="tkinter#tkinter-life-preserver">Tkinter Life Preserver</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter#a-hello-world-program">A Hello World Program</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#important-tk-concepts">Important Tk Concepts</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#understanding-how-tkinter-wraps-tcl-tk">Understanding How Tkinter Wraps Tcl/Tk</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#how-do-i-what-option-does">How do I…? What option does…?</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#navigating-the-tcl-tk-reference-manual">Navigating the Tcl/Tk Reference Manual</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="tkinter#threading-model">Threading model</a></li> <li class="toctree-l2">
<a class="reference internal" href="tkinter#handy-reference">Handy Reference</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter#setting-options">Setting Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#the-packer">The Packer</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#packer-options">Packer Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#coupling-widget-variables">Coupling Widget Variables</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#the-window-manager">The Window Manager</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#tk-option-data-types">Tk Option Data Types</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#bindings-and-events">Bindings and Events</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#the-index-parameter">The index Parameter</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter#images">Images</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="tkinter#file-handlers">File Handlers</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="tkinter.colorchooser"><code>tkinter.colorchooser</code> — Color choosing dialog</a></li> <li class="toctree-l1"><a class="reference internal" href="tkinter.font"><code>tkinter.font</code> — Tkinter font wrapper</a></li> <li class="toctree-l1">
<a class="reference internal" href="dialog">Tkinter Dialogs</a><ul> <li class="toctree-l2"><a class="reference internal" href="dialog#module-tkinter.simpledialog"><code>tkinter.simpledialog</code> — Standard Tkinter input dialogs</a></li> <li class="toctree-l2">
<a class="reference internal" href="dialog#module-tkinter.filedialog"><code>tkinter.filedialog</code> — File selection dialogs</a><ul> <li class="toctree-l3"><a class="reference internal" href="dialog#native-load-save-dialogs">Native Load/Save Dialogs</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="dialog#module-tkinter.commondialog"><code>tkinter.commondialog</code> — Dialog window templates</a></li> </ul> </li> <li class="toctree-l1"><a class="reference internal" href="tkinter.messagebox"><code>tkinter.messagebox</code> — Tkinter message prompts</a></li> <li class="toctree-l1"><a class="reference internal" href="tkinter.scrolledtext"><code>tkinter.scrolledtext</code> — Scrolled Text Widget</a></li> <li class="toctree-l1"><a class="reference internal" href="tkinter.dnd"><code>tkinter.dnd</code> — Drag and drop support</a></li> <li class="toctree-l1">
<a class="reference internal" href="tkinter.ttk"><code>tkinter.ttk</code> — Tk themed widgets</a><ul> <li class="toctree-l2"><a class="reference internal" href="tkinter.ttk#using-ttk">Using Ttk</a></li> <li class="toctree-l2"><a class="reference internal" href="tkinter.ttk#ttk-widgets">Ttk Widgets</a></li> <li class="toctree-l2">
<a class="reference internal" href="tkinter.ttk#widget">Widget</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#standard-options">Standard Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#scrollable-widget-options">Scrollable Widget Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#label-options">Label Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#compatibility-options">Compatibility Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#widget-states">Widget States</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#ttk-widget">ttk.Widget</a></li> </ul> </li> <li class="toctree-l2">
<a class="reference internal" href="tkinter.ttk#combobox">Combobox</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#options">Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#virtual-events">Virtual events</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#ttk-combobox">ttk.Combobox</a></li> </ul> </li> <li class="toctree-l2">
<a class="reference internal" href="tkinter.ttk#spinbox">Spinbox</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#id1">Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#id2">Virtual events</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#ttk-spinbox">ttk.Spinbox</a></li> </ul> </li> <li class="toctree-l2">
<a class="reference internal" href="tkinter.ttk#notebook">Notebook</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#id3">Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#tab-options">Tab Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#tab-identifiers">Tab Identifiers</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#id4">Virtual Events</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#ttk-notebook">ttk.Notebook</a></li> </ul> </li> <li class="toctree-l2">
<a class="reference internal" href="tkinter.ttk#progressbar">Progressbar</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#id5">Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#ttk-progressbar">ttk.Progressbar</a></li> </ul> </li> <li class="toctree-l2">
<a class="reference internal" href="tkinter.ttk#separator">Separator</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#id6">Options</a></li> </ul> </li> <li class="toctree-l2">
<a class="reference internal" href="tkinter.ttk#sizegrip">Sizegrip</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#platform-specific-notes">Platform-specific notes</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#bugs">Bugs</a></li> </ul> </li> <li class="toctree-l2">
<a class="reference internal" href="tkinter.ttk#treeview">Treeview</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#id7">Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#item-options">Item Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#tag-options">Tag Options</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#column-identifiers">Column Identifiers</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#id8">Virtual Events</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#ttk-treeview">ttk.Treeview</a></li> </ul> </li> <li class="toctree-l2">
<a class="reference internal" href="tkinter.ttk#ttk-styling">Ttk Styling</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter.ttk#layouts">Layouts</a></li> </ul> </li> </ul> </li> <li class="toctree-l1">
<a class="reference internal" href="tkinter.tix"><code>tkinter.tix</code> — Extension widgets for Tk</a><ul> <li class="toctree-l2"><a class="reference internal" href="tkinter.tix#using-tix">Using Tix</a></li> <li class="toctree-l2">
<a class="reference internal" href="tkinter.tix#tix-widgets">Tix Widgets</a><ul> <li class="toctree-l3"><a class="reference internal" href="tkinter.tix#basic-widgets">Basic Widgets</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.tix#file-selectors">File Selectors</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.tix#hierarchical-listbox">Hierarchical ListBox</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.tix#tabular-listbox">Tabular ListBox</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.tix#manager-widgets">Manager Widgets</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.tix#image-types">Image Types</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.tix#miscellaneous-widgets">Miscellaneous Widgets</a></li> <li class="toctree-l3"><a class="reference internal" href="tkinter.tix#form-geometry-manager">Form Geometry Manager</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="tkinter.tix#tix-commands">Tix Commands</a></li> </ul> </li> <li class="toctree-l1">
<a class="reference internal" href="idle">IDLE</a><ul> <li class="toctree-l2">
<a class="reference internal" href="idle#menus">Menus</a><ul> <li class="toctree-l3"><a class="reference internal" href="idle#file-menu-shell-and-editor">File menu (Shell and Editor)</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#edit-menu-shell-and-editor">Edit menu (Shell and Editor)</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#format-menu-editor-window-only">Format menu (Editor window only)</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#run-menu-editor-window-only">Run menu (Editor window only)</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#shell-menu-shell-window-only">Shell menu (Shell window only)</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#debug-menu-shell-window-only">Debug menu (Shell window only)</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#options-menu-shell-and-editor">Options menu (Shell and Editor)</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#window-menu-shell-and-editor">Window menu (Shell and Editor)</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#help-menu-shell-and-editor">Help menu (Shell and Editor)</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#context-menus">Context menus</a></li> </ul> </li> <li class="toctree-l2">
<a class="reference internal" href="idle#editing-and-navigation">Editing and Navigation</a><ul> <li class="toctree-l3"><a class="reference internal" href="idle#editor-windows">Editor windows</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#key-bindings">Key bindings</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#automatic-indentation">Automatic indentation</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#search-and-replace">Search and Replace</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#completions">Completions</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#calltips">Calltips</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#code-context">Code Context</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#shell-window">Shell window</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#text-colors">Text colors</a></li> </ul> </li> <li class="toctree-l2">
<a class="reference internal" href="idle#startup-and-code-execution">Startup and Code Execution</a><ul> <li class="toctree-l3"><a class="reference internal" href="idle#command-line-usage">Command line usage</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#startup-failure">Startup failure</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#running-user-code">Running user code</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#user-output-in-shell">User output in Shell</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#developing-tkinter-applications">Developing tkinter applications</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#running-without-a-subprocess">Running without a subprocess</a></li> </ul> </li> <li class="toctree-l2">
<a class="reference internal" href="idle#help-and-preferences">Help and Preferences</a><ul> <li class="toctree-l3"><a class="reference internal" href="idle#help-sources">Help sources</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#setting-preferences">Setting preferences</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#idle-on-macos">IDLE on macOS</a></li> <li class="toctree-l3"><a class="reference internal" href="idle#extensions">Extensions</a></li> </ul> </li> <li class="toctree-l2"><a class="reference internal" href="idle#module-idlelib">idlelib</a></li> </ul> </li> </ul>  <div class="_attribution">
  <p class="_attribution-p">
    &copy; 2001&ndash;2023 Python Software Foundation<br>Licensed under the PSF License.<br>
    <a href="https://docs.python.org/3.12/library/tk.html" class="_attribution-link">https://docs.python.org/3.12/library/tk.html</a>
  </p>
</div>