Files
FootPrint/Python/pythoncore-3.15-64/Doc/html/library/dialog.html
T

764 lines
61 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en" data-content_root="../">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<meta property="og:title" content="Tkinter dialogs" />
<meta property="og:type" content="website" />
<meta property="og:url" content="https://docs.python.org/3/library/dialog.html" />
<meta property="og:site_name" content="Python documentation" />
<meta property="og:description" content="tkinter.simpledialog — Standard Tkinter input dialogs: Source code: Lib/tkinter/simpledialog.py The tkinter.simpledialog module contains convenience classes and functions for creating simple modal ..." />
<meta property="og:image" content="_static/og-image.png" />
<meta property="og:image:alt" content="Python documentation" />
<meta name="description" content="tkinter.simpledialog — Standard Tkinter input dialogs: Source code: Lib/tkinter/simpledialog.py The tkinter.simpledialog module contains convenience classes and functions for creating simple modal ..." />
<meta name="theme-color" content="#3776ab">
<meta property="og:image:width" content="200">
<meta property="og:image:height" content="200">
<title>Tkinter dialogs &#8212; Python 3.15.0 documentation</title><meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=b86133f3" />
<link rel="stylesheet" type="text/css" href="../_static/classic.css?v=234b1a7c" />
<link rel="stylesheet" type="text/css" href="../_static/pydoctheme.css?v=48df1187" />
<link id="pygments_dark_css" media="(prefers-color-scheme: dark)" rel="stylesheet" type="text/css" href="../_static/pygments_dark.css?v=0fc419ee" />
<script src="../_static/documentation_options.js?v=0fe728b1"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/sidebar.js"></script>
<link rel="search" type="application/opensearchdescription+xml"
title="Search within Python 3.15.0 documentation"
href="../_static/opensearch.xml"/>
<link rel="author" title="About these documents" href="../about.html" />
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="copyright" title="Copyright" href="../copyright.html" />
<link rel="next" title="tkinter.messagebox — Tkinter message prompts" href="tkinter.messagebox.html" />
<link rel="prev" title="tkinter.font — Tkinter font wrapper" href="tkinter.font.html" />
<link rel="canonical" href="https://docs.python.org/3/library/dialog.html">
<style>
@media only screen {
table.full-width-table {
width: 100%;
}
}
</style>
<link rel="stylesheet" href="../_static/pydoctheme_dark.css" media="(prefers-color-scheme: dark)" id="pydoctheme_dark_css">
<link rel="shortcut icon" type="image/png" href="../_static/py.svg">
<script type="text/javascript" src="../_static/copybutton.js"></script>
<script type="text/javascript" src="../_static/menu.js"></script>
<script type="text/javascript" src="../_static/search-focus.js"></script>
<script type="text/javascript" src="../_static/themetoggle.js"></script>
<script type="text/javascript" src="../_static/rtd_switcher.js"></script>
<meta name="readthedocs-addons-api-version" content="1">
</head>
<body>
<div class="mobile-nav">
<input type="checkbox" id="menuToggler" class="toggler__input" aria-controls="navigation"
aria-pressed="false" aria-expanded="false" role="button" aria-label="Menu">
<nav class="nav-content" role="navigation">
<label for="menuToggler" class="toggler__label">
<span></span>
</label>
<span class="nav-items-wrapper">
<a href="https://www.python.org/" class="nav-logo">
<img src="../_static/py.svg" alt="Python logo">
</a>
<span class="version_switcher_placeholder"></span>
<form role="search" class="search" action="../search.html" method="get">
<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" class="search-icon">
<path fill-rule="nonzero" fill="currentColor" d="M15.5 14h-.79l-.28-.27a6.5 6.5 0 001.48-5.34c-.47-2.78-2.79-5-5.59-5.34a6.505 6.505 0 00-7.27 7.27c.34 2.8 2.56 5.12 5.34 5.59a6.5 6.5 0 005.34-1.48l.27.28v.79l4.25 4.25c.41.41 1.08.41 1.49 0 .41-.41.41-1.08 0-1.49L15.5 14zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg>
<input placeholder="Quick search" aria-label="Quick search" type="search" name="q">
<input type="submit" value="Go">
</form>
</span>
</nav>
<div class="menu-wrapper">
<nav class="menu" role="navigation" aria-label="main navigation">
<div class="language_switcher_placeholder"></div>
<label class="theme-selector-label">
Theme
<select class="theme-selector" oninput="activateTheme(this.value)">
<option value="auto" selected>Auto</option>
<option value="light">Light</option>
<option value="dark">Dark</option>
</select>
</label>
<div>
<h3><a href="../contents.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Tkinter dialogs</a><ul>
<li><a class="reference internal" href="#module-tkinter.simpledialog"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.simpledialog</span></code> — Standard Tkinter input dialogs</a></li>
<li><a class="reference internal" href="#module-tkinter.filedialog"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.filedialog</span></code> — File selection dialogs</a><ul>
<li><a class="reference internal" href="#native-load-save-dialogs">Native load/save dialogs</a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-tkinter.commondialog"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.commondialog</span></code> — Dialog window templates</a></li>
<li><a class="reference internal" href="#module-tkinter.dialog"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.dialog</span></code> — Classic Tk dialog boxes</a></li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="tkinter.font.html"
title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.font</span></code> — Tkinter font wrapper</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="tkinter.messagebox.html"
title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.messagebox</span></code> — Tkinter message prompts</a></p>
</div>
<script>
document.addEventListener('DOMContentLoaded', () => {
const title = document.querySelector('meta[property="og:title"]').content;
const elements = document.querySelectorAll('.improvepage');
const pageurl = window.location.href.split('?')[0];
elements.forEach(element => {
const url = new URL(element.href.split('?')[0].replace("-nojs", ""));
url.searchParams.set('pagetitle', title);
url.searchParams.set('pageurl', pageurl);
url.searchParams.set('pagesource', "library/dialog.rst");
element.href = url.toString();
});
});
</script>
<div role="note" aria-label="source link">
<h3>This page</h3>
<ul class="this-page-menu">
<li><a href="../bugs.html">Report a bug</a></li>
<li><a class="improvepage" href="../improve-page-nojs.html">Improve this page</a></li>
<li>
<a href="https://github.com/python/cpython/blob/3.15/Doc/library/dialog.rst?plain=1"
rel="nofollow">Show source
</a>
</li>
</ul>
</div>
</nav>
</div>
</div>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="tkinter.messagebox.html" title="tkinter.messagebox — Tkinter message prompts"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="tkinter.font.html" title="tkinter.font — Tkinter font wrapper"
accesskey="P">previous</a> |</li>
<li class="root-icon"><img src="../_static/py.svg" alt="Python logo" style="vertical-align: middle; margin-top: -1px"></li>
<li><a href="https://www.python.org/">Python</a> &#187;</li>
<li class="switchers">
<div class="language_switcher_placeholder"></div>
<div class="version_switcher_placeholder"></div>
</li>
<li>
</li>
<li id="cpython-language-and-version">
<a href="../index.html">3.15.0 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" >The Python standard library</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="tk.html" accesskey="U">Graphical user interfaces with Tk</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Tkinter dialogs</a></li>
<li class="right">
<div class="inline-search" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="Quick search" aria-label="Quick search" type="search" name="q" id="search-box">
<input type="submit" value="Go">
</form>
</div>
|
</li>
<li class="right">
<label class="theme-selector-label">
Theme
<select class="theme-selector" oninput="activateTheme(this.value)">
<option value="auto" selected>Auto</option>
<option value="light">Light</option>
<option value="dark">Dark</option>
</select>
</label> |</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<section id="tkinter-dialogs">
<h1>Tkinter dialogs<a class="headerlink" href="#tkinter-dialogs" title="Link to this heading"></a></h1>
<section id="module-tkinter.simpledialog">
<span id="tkinter-simpledialog-standard-tkinter-input-dialogs"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.simpledialog</span></code> — Standard Tkinter input dialogs<a class="headerlink" href="#module-tkinter.simpledialog" title="Link to this heading"></a></h2>
<p><strong>Source code:</strong> <a class="extlink-source reference external" href="https://github.com/python/cpython/tree/3.15/Lib/tkinter/simpledialog.py">Lib/tkinter/simpledialog.py</a></p>
<hr class="docutils" />
<p>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.simpledialog</span></code> module contains convenience classes and
functions for creating simple modal dialogs to get a value from the user.</p>
<dl class="py function">
<dt class="sig sig-object py" id="tkinter.simpledialog.askfloat">
<span class="sig-prename descclassname"><span class="pre">tkinter.simpledialog.</span></span><span class="sig-name descname"><span class="pre">askfloat</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">title</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prompt</span></span></em>, <em class="sig-param"><span class="keyword-only-separator o"><abbr title="Keyword-only parameters separator (PEP 3102)"><span class="pre">*</span></abbr></span></em>, <em class="sig-param"><span class="n"><span class="pre">initialvalue</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">minvalue</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">maxvalue</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">parent</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.simpledialog.askfloat" title="Link to this definition"></a></dt>
<dt class="sig sig-object py" id="tkinter.simpledialog.askinteger">
<span class="sig-prename descclassname"><span class="pre">tkinter.simpledialog.</span></span><span class="sig-name descname"><span class="pre">askinteger</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">title</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prompt</span></span></em>, <em class="sig-param"><span class="keyword-only-separator o"><abbr title="Keyword-only parameters separator (PEP 3102)"><span class="pre">*</span></abbr></span></em>, <em class="sig-param"><span class="n"><span class="pre">initialvalue</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">minvalue</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">maxvalue</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">parent</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.simpledialog.askinteger" title="Link to this definition"></a></dt>
<dt class="sig sig-object py" id="tkinter.simpledialog.askstring">
<span class="sig-prename descclassname"><span class="pre">tkinter.simpledialog.</span></span><span class="sig-name descname"><span class="pre">askstring</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">title</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">prompt</span></span></em>, <em class="sig-param"><span class="keyword-only-separator o"><abbr title="Keyword-only parameters separator (PEP 3102)"><span class="pre">*</span></abbr></span></em>, <em class="sig-param"><span class="n"><span class="pre">initialvalue</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">show</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">parent</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.simpledialog.askstring" title="Link to this definition"></a></dt>
<dd><p>Prompt the user to enter a value of the desired type and return it, or
<code class="docutils literal notranslate"><span class="pre">None</span></code> if the dialog is cancelled.</p>
<p><em>title</em> is the dialog title and <em>prompt</em> the message shown above the entry.
<em>initialvalue</em> is the value initially placed in the entry.
<em>parent</em> is the window over which the dialog is shown.
<code class="xref py py-func docutils literal notranslate"><span class="pre">askinteger()</span></code> and <code class="xref py py-func docutils literal notranslate"><span class="pre">askfloat()</span></code> also accept <em>minvalue</em> and
<em>maxvalue</em>, which bound the accepted value.
<code class="xref py py-func docutils literal notranslate"><span class="pre">askstring()</span></code> also accepts <em>show</em>, a character used to mask the entered
text, for example <code class="docutils literal notranslate"><span class="pre">'*'</span></code> to hide a password.</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="tkinter.simpledialog.Dialog">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">tkinter.simpledialog.</span></span><span class="sig-name descname"><span class="pre">Dialog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">parent</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.simpledialog.Dialog" title="Link to this definition"></a></dt>
<dd><p>The base class for custom dialogs.
Instantiating it shows the dialog modally and returns once the user closes
it; the entered value is then available in the <code class="xref py py-attr docutils literal notranslate"><span class="pre">result</span></code> attribute.</p>
<dl class="py attribute">
<dt class="sig sig-object py" id="tkinter.simpledialog.Dialog.result">
<span class="sig-name descname"><span class="pre">result</span></span><a class="headerlink" href="#tkinter.simpledialog.Dialog.result" title="Link to this definition"></a></dt>
<dd><p>The value produced by <a class="reference internal" href="#tkinter.simpledialog.Dialog.apply" title="tkinter.simpledialog.Dialog.apply"><code class="xref py py-meth docutils literal notranslate"><span class="pre">apply()</span></code></a>, or <code class="docutils literal notranslate"><span class="pre">None</span></code> if the dialog was
cancelled.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.simpledialog.Dialog.body">
<span class="sig-name descname"><span class="pre">body</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.simpledialog.Dialog.body" title="Link to this definition"></a></dt>
<dd><p>Override to construct the dialog’s interface and return the widget that
should have initial focus.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.simpledialog.Dialog.buttonbox">
<span class="sig-name descname"><span class="pre">buttonbox</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.simpledialog.Dialog.buttonbox" title="Link to this definition"></a></dt>
<dd><p>Default behaviour adds OK and Cancel buttons. Override for custom button
layouts.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.simpledialog.Dialog.validate">
<span class="sig-name descname"><span class="pre">validate</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.simpledialog.Dialog.validate" title="Link to this definition"></a></dt>
<dd><p>Validate the data entered by the user.
Return true if it is valid, in which case the dialog proceeds to
<a class="reference internal" href="#tkinter.simpledialog.Dialog.apply" title="tkinter.simpledialog.Dialog.apply"><code class="xref py py-meth docutils literal notranslate"><span class="pre">apply()</span></code></a>; return false to keep the dialog open.
The default implementation always returns true; override it to check the
input.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.simpledialog.Dialog.apply">
<span class="sig-name descname"><span class="pre">apply</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.simpledialog.Dialog.apply" title="Link to this definition"></a></dt>
<dd><p>Process the data entered by the user, for example by storing it in the
<code class="xref py py-attr docutils literal notranslate"><span class="pre">result</span></code> attribute.
Called after <a class="reference internal" href="#tkinter.simpledialog.Dialog.validate" title="tkinter.simpledialog.Dialog.validate"><code class="xref py py-meth docutils literal notranslate"><span class="pre">validate()</span></code></a> succeeds and just before the dialog is
destroyed.
The default implementation does nothing; override it to act on or store
the result.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.simpledialog.Dialog.destroy">
<span class="sig-name descname"><span class="pre">destroy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.simpledialog.Dialog.destroy" title="Link to this definition"></a></dt>
<dd><p>Destroy the dialog window, clearing the reference to the widget that had
the initial focus.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="tkinter.simpledialog.SimpleDialog">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">tkinter.simpledialog.</span></span><span class="sig-name descname"><span class="pre">SimpleDialog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">text</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">buttons</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">[]</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cancel</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">class_</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.simpledialog.SimpleDialog" title="Link to this definition"></a></dt>
<dd><p>A simple modal dialog that displays the message <em>text</em> above a row of push
buttons whose labels are given by <em>buttons</em>, and returns the index of the
button the user presses.
<em>default</em> is the index of the button activated by the Return key, <em>cancel</em>
the index returned when the window is closed through the window manager,
<em>title</em> the window title, and <em>class_</em> the Tk class name of the window.</p>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.simpledialog.SimpleDialog.go">
<span class="sig-name descname"><span class="pre">go</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.simpledialog.SimpleDialog.go" title="Link to this definition"></a></dt>
<dd><p>Display the dialog, wait until the user presses a button or closes the
window, and return the index of the chosen button.</p>
</dd></dl>
</dd></dl>
</section>
<section id="module-tkinter.filedialog">
<span id="tkinter-filedialog-file-selection-dialogs"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.filedialog</span></code> — File selection dialogs<a class="headerlink" href="#module-tkinter.filedialog" title="Link to this heading"></a></h2>
<p><strong>Source code:</strong> <a class="extlink-source reference external" href="https://github.com/python/cpython/tree/3.15/Lib/tkinter/filedialog.py">Lib/tkinter/filedialog.py</a></p>
<hr class="docutils" />
<p>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.filedialog</span></code> module provides classes and factory functions for
creating file/directory selection windows.</p>
<section id="native-load-save-dialogs">
<h3>Native load/save dialogs<a class="headerlink" href="#native-load-save-dialogs" title="Link to this heading"></a></h3>
<p>The following classes and functions provide file dialog windows that combine a
native look-and-feel with configuration options to customize behaviour.
The following keyword arguments are applicable to the classes and functions
listed below:</p>
<blockquote>
<div><div class="line-block">
<div class="line"><em>parent</em> - the window to place the dialog on top of</div>
</div>
<div class="line-block">
<div class="line"><em>title</em> - the title of the window</div>
</div>
<div class="line-block">
<div class="line"><em>initialdir</em> - the directory that the dialog starts in</div>
</div>
<div class="line-block">
<div class="line"><em>initialfile</em> - the file selected upon opening of the dialog</div>
</div>
<div class="line-block">
<div class="line"><em>filetypes</em> - a sequence of (label, pattern) tuples, ‘*’ wildcard is allowed</div>
</div>
<div class="line-block">
<div class="line"><em>defaultextension</em> - default extension to append to file (save dialogs)</div>
</div>
<div class="line-block">
<div class="line"><em>multiple</em> - when true, selection of multiple items is allowed</div>
</div>
</div></blockquote>
<p><strong>Static factory functions</strong></p>
<p>The below functions when called create a modal, native look-and-feel dialog,
wait for the user’s selection, and return it.
The exact return value depends on the function (see below); when the dialog is
cancelled it is an empty string, an empty tuple or <code class="docutils literal notranslate"><span class="pre">None</span></code>.
The precise type of this empty value may vary between platforms and Tk
versions, so test the result for truth rather than comparing it with a
specific value.</p>
<dl class="py function">
<dt class="sig sig-object py" id="tkinter.filedialog.askopenfile">
<span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">askopenfile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mode</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'r'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.askopenfile" title="Link to this definition"></a></dt>
<dt class="sig sig-object py" id="tkinter.filedialog.askopenfiles">
<span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">askopenfiles</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mode</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'r'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.askopenfiles" title="Link to this definition"></a></dt>
<dd><p>Create an <a class="reference internal" href="#tkinter.filedialog.Open" title="tkinter.filedialog.Open"><code class="xref py py-class docutils literal notranslate"><span class="pre">Open</span></code></a> dialog.
<code class="xref py py-func docutils literal notranslate"><span class="pre">askopenfile()</span></code> returns the opened file object, or <code class="docutils literal notranslate"><span class="pre">None</span></code> if the
dialog is cancelled.
<code class="xref py py-func docutils literal notranslate"><span class="pre">askopenfiles()</span></code> returns a list of the opened file objects, or an empty
tuple if cancelled.
The files are opened in mode <em>mode</em> (read-only <code class="docutils literal notranslate"><span class="pre">'r'</span></code> by default).</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="tkinter.filedialog.asksaveasfile">
<span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">asksaveasfile</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">mode</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'w'</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.asksaveasfile" title="Link to this definition"></a></dt>
<dd><p>Create a <a class="reference internal" href="#tkinter.filedialog.SaveAs" title="tkinter.filedialog.SaveAs"><code class="xref py py-class docutils literal notranslate"><span class="pre">SaveAs</span></code></a> dialog and return the opened file object, or
<code class="docutils literal notranslate"><span class="pre">None</span></code> if the dialog is cancelled.
The file is opened in mode <em>mode</em> (<code class="docutils literal notranslate"><span class="pre">'w'</span></code> by default).</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="tkinter.filedialog.askopenfilename">
<span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">askopenfilename</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.askopenfilename" title="Link to this definition"></a></dt>
<dt class="sig sig-object py" id="tkinter.filedialog.askopenfilenames">
<span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">askopenfilenames</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.askopenfilenames" title="Link to this definition"></a></dt>
<dd><p>Create an <a class="reference internal" href="#tkinter.filedialog.Open" title="tkinter.filedialog.Open"><code class="xref py py-class docutils literal notranslate"><span class="pre">Open</span></code></a> dialog.
<code class="xref py py-func docutils literal notranslate"><span class="pre">askopenfilename()</span></code> returns the selected filename as a string, or an
empty string if the dialog is cancelled.
<code class="xref py py-func docutils literal notranslate"><span class="pre">askopenfilenames()</span></code> returns a tuple of the selected filenames, or an
empty tuple if cancelled.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="tkinter.filedialog.asksaveasfilename">
<span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">asksaveasfilename</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.asksaveasfilename" title="Link to this definition"></a></dt>
<dd><p>Create a <a class="reference internal" href="#tkinter.filedialog.SaveAs" title="tkinter.filedialog.SaveAs"><code class="xref py py-class docutils literal notranslate"><span class="pre">SaveAs</span></code></a> dialog and return the selected filename as a
string, or an empty string if the dialog is cancelled.</p>
</dd></dl>
<dl class="py function">
<dt class="sig sig-object py" id="tkinter.filedialog.askdirectory">
<span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">askdirectory</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.askdirectory" title="Link to this definition"></a></dt>
<dd><p>Prompt the user to select a directory, and return its path as a string, or
an empty string if the dialog is cancelled.
Additional keyword option: <em>mustexist</em> - if true, the user may only select
an existing directory (false by default).</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="tkinter.filedialog.Open">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">Open</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.Open" title="Link to this definition"></a></dt>
<dt class="sig sig-object py" id="tkinter.filedialog.SaveAs">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">SaveAs</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.SaveAs" title="Link to this definition"></a></dt>
<dt class="sig sig-object py" id="tkinter.filedialog.Directory">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">Directory</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.Directory" title="Link to this definition"></a></dt>
<dd><p>The above three classes provide native dialog windows for loading and saving
files and for selecting a directory.</p>
</dd></dl>
<p><strong>Convenience classes</strong></p>
<p>The below classes are used for creating file/directory windows from scratch.
These do not emulate the native look-and-feel of the platform.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>The <em>FileDialog</em> class should be subclassed for custom event
handling and behaviour.</p>
</div>
<dl class="py class">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">FileDialog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog" title="Link to this definition"></a></dt>
<dd><p>Create a basic file selection dialog.</p>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.cancel_command">
<span class="sig-name descname"><span class="pre">cancel_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">event</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.cancel_command" title="Link to this definition"></a></dt>
<dd><p>Trigger the termination of the dialog window.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.dirs_double_event">
<span class="sig-name descname"><span class="pre">dirs_double_event</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">event</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.dirs_double_event" title="Link to this definition"></a></dt>
<dd><p>Event handler for double-click event on directory.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.dirs_select_event">
<span class="sig-name descname"><span class="pre">dirs_select_event</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">event</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.dirs_select_event" title="Link to this definition"></a></dt>
<dd><p>Event handler for click event on directory.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.files_double_event">
<span class="sig-name descname"><span class="pre">files_double_event</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">event</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.files_double_event" title="Link to this definition"></a></dt>
<dd><p>Event handler for double-click event on file.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.files_select_event">
<span class="sig-name descname"><span class="pre">files_select_event</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">event</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.files_select_event" title="Link to this definition"></a></dt>
<dd><p>Event handler for single-click event on file.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.filter_command">
<span class="sig-name descname"><span class="pre">filter_command</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">event</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.filter_command" title="Link to this definition"></a></dt>
<dd><p>Filter the files by directory.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.get_filter">
<span class="sig-name descname"><span class="pre">get_filter</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.get_filter" title="Link to this definition"></a></dt>
<dd><p>Retrieve the file filter currently in use.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.get_selection">
<span class="sig-name descname"><span class="pre">get_selection</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.get_selection" title="Link to this definition"></a></dt>
<dd><p>Retrieve the currently selected item.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.go">
<span class="sig-name descname"><span class="pre">go</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dir_or_file</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">os.curdir</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pattern</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">'*'</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">default</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">''</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">key</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.go" title="Link to this definition"></a></dt>
<dd><p>Render dialog and start event loop.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.ok_event">
<span class="sig-name descname"><span class="pre">ok_event</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">event</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.ok_event" title="Link to this definition"></a></dt>
<dd><p>Exit dialog returning current selection.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.ok_command">
<span class="sig-name descname"><span class="pre">ok_command</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.ok_command" title="Link to this definition"></a></dt>
<dd><p>Called when the user confirms the current selection.
The base implementation accepts the selection and closes the dialog;
<a class="reference internal" href="#tkinter.filedialog.LoadFileDialog" title="tkinter.filedialog.LoadFileDialog"><code class="xref py py-class docutils literal notranslate"><span class="pre">LoadFileDialog</span></code></a> and <a class="reference internal" href="#tkinter.filedialog.SaveFileDialog" title="tkinter.filedialog.SaveFileDialog"><code class="xref py py-class docutils literal notranslate"><span class="pre">SaveFileDialog</span></code></a> override it to check
the selection first.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.quit">
<span class="sig-name descname"><span class="pre">quit</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">how</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.quit" title="Link to this definition"></a></dt>
<dd><p>Exit dialog returning filename, if any.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.set_filter">
<span class="sig-name descname"><span class="pre">set_filter</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">dir</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">pat</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.set_filter" title="Link to this definition"></a></dt>
<dd><p>Set the file filter.</p>
</dd></dl>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.FileDialog.set_selection">
<span class="sig-name descname"><span class="pre">set_selection</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">file</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.FileDialog.set_selection" title="Link to this definition"></a></dt>
<dd><p>Update the current file selection to <em>file</em>.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="tkinter.filedialog.LoadFileDialog">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">LoadFileDialog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.LoadFileDialog" title="Link to this definition"></a></dt>
<dd><p>A subclass of FileDialog that creates a dialog window for selecting an
existing file.</p>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.LoadFileDialog.ok_command">
<span class="sig-name descname"><span class="pre">ok_command</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.LoadFileDialog.ok_command" title="Link to this definition"></a></dt>
<dd><p>Test that a file is provided and that the selection indicates an
already existing file.</p>
</dd></dl>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="tkinter.filedialog.SaveFileDialog">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">tkinter.filedialog.</span></span><span class="sig-name descname"><span class="pre">SaveFileDialog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">title</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.SaveFileDialog" title="Link to this definition"></a></dt>
<dd><p>A subclass of FileDialog that creates a dialog window for selecting a
destination file.</p>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.filedialog.SaveFileDialog.ok_command">
<span class="sig-name descname"><span class="pre">ok_command</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.filedialog.SaveFileDialog.ok_command" title="Link to this definition"></a></dt>
<dd><p>Test whether or not the selection points to a valid file that is not a
directory. Confirmation is required if an already existing file is
selected.</p>
</dd></dl>
</dd></dl>
</section>
</section>
<section id="module-tkinter.commondialog">
<span id="tkinter-commondialog-dialog-window-templates"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.commondialog</span></code> — Dialog window templates<a class="headerlink" href="#module-tkinter.commondialog" title="Link to this heading"></a></h2>
<p><strong>Source code:</strong> <a class="extlink-source reference external" href="https://github.com/python/cpython/tree/3.15/Lib/tkinter/commondialog.py">Lib/tkinter/commondialog.py</a></p>
<hr class="docutils" />
<p>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.commondialog</span></code> module provides the <a class="reference internal" href="#tkinter.commondialog.Dialog" title="tkinter.commondialog.Dialog"><code class="xref py py-class docutils literal notranslate"><span class="pre">Dialog</span></code></a> class that
is the base class for dialogs defined in other supporting modules.</p>
<dl class="py class">
<dt class="sig sig-object py" id="tkinter.commondialog.Dialog">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">tkinter.commondialog.</span></span><span class="sig-name descname"><span class="pre">Dialog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.commondialog.Dialog" title="Link to this definition"></a></dt>
<dd><dl class="py method">
<dt class="sig sig-object py" id="tkinter.commondialog.Dialog.show">
<span class="sig-name descname"><span class="pre">show</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">options</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.commondialog.Dialog.show" title="Link to this definition"></a></dt>
<dd><p>Render the Dialog window.</p>
</dd></dl>
</dd></dl>
</section>
<section id="module-tkinter.dialog">
<span id="tkinter-dialog-classic-tk-dialog-boxes"></span><h2><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.dialog</span></code> — Classic Tk dialog boxes<a class="headerlink" href="#module-tkinter.dialog" title="Link to this heading"></a></h2>
<p><strong>Source code:</strong> <a class="extlink-source reference external" href="https://github.com/python/cpython/tree/3.15/Lib/tkinter/dialog.py">Lib/tkinter/dialog.py</a></p>
<hr class="docutils" />
<p>The <code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.dialog</span></code> module provides a simple modal dialog box built on
the classic (non-themed) Tk widgets.</p>
<dl class="py data">
<dt class="sig sig-object py" id="tkinter.dialog.DIALOG_ICON">
<span class="sig-prename descclassname"><span class="pre">tkinter.dialog.</span></span><span class="sig-name descname"><span class="pre">DIALOG_ICON</span></span><a class="headerlink" href="#tkinter.dialog.DIALOG_ICON" title="Link to this definition"></a></dt>
<dd><p>The name of a bitmap (<code class="docutils literal notranslate"><span class="pre">'questhead'</span></code>) suitable for use as the <em>bitmap</em>
of a <a class="reference internal" href="#tkinter.dialog.Dialog" title="tkinter.dialog.Dialog"><code class="xref py py-class docutils literal notranslate"><span class="pre">Dialog</span></code></a>.</p>
</dd></dl>
<dl class="py class">
<dt class="sig sig-object py" id="tkinter.dialog.Dialog">
<em class="property"><span class="k"><span class="pre">class</span></span><span class="w"> </span></em><span class="sig-prename descclassname"><span class="pre">tkinter.dialog.</span></span><span class="sig-name descname"><span class="pre">Dialog</span></span><span class="sig-paren">(</span><em class="sig-param"><span class="n"><span class="pre">master</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">None</span></span></em>, <em class="sig-param"><span class="n"><span class="pre">cnf</span></span><span class="o"><span class="pre">=</span></span><span class="default_value"><span class="pre">{}</span></span></em>, <em class="sig-param"><span class="o"><span class="pre">**</span></span><span class="n"><span class="pre">kw</span></span></em><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.dialog.Dialog" title="Link to this definition"></a></dt>
<dd><p>Display a modal dialog box built from the classic (non-themed) Tk widgets
and wait for the user to press one of its buttons.
The options, given through <em>cnf</em> or as keyword arguments, are all required:
<em>title</em> (the window title), <em>text</em> (the message), <em>bitmap</em> (the name of a
bitmap icon, such as <a class="reference internal" href="#tkinter.dialog.DIALOG_ICON" title="tkinter.dialog.DIALOG_ICON"><code class="xref py py-data docutils literal notranslate"><span class="pre">DIALOG_ICON</span></code></a>), <em>default</em> (the index of the
default button) and <em>strings</em> (the sequence of button labels).
After construction, the <code class="xref py py-attr docutils literal notranslate"><span class="pre">num</span></code> attribute holds the index of the button
the user pressed.</p>
<dl class="py method">
<dt class="sig sig-object py" id="tkinter.dialog.Dialog.destroy">
<span class="sig-name descname"><span class="pre">destroy</span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#tkinter.dialog.Dialog.destroy" title="Link to this definition"></a></dt>
<dd><p>Do nothing.
The dialog window is destroyed automatically before the constructor
returns, so there is nothing left for this method to do.</p>
</dd></dl>
</dd></dl>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p>Modules <a class="reference internal" href="tkinter.messagebox.html#module-tkinter.messagebox" title="tkinter.messagebox: Various types of alert dialogs"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.messagebox</span></code></a>, <a class="reference internal" href="../tutorial/inputoutput.html#tut-files"><span class="std std-ref">Reading and writing files</span></a></p>
</div>
</section>
</section>
<div class="clearer"></div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="Main">
<div class="sphinxsidebarwrapper">
<div>
<h3><a href="../contents.html">Table of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">Tkinter dialogs</a><ul>
<li><a class="reference internal" href="#module-tkinter.simpledialog"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.simpledialog</span></code> — Standard Tkinter input dialogs</a></li>
<li><a class="reference internal" href="#module-tkinter.filedialog"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.filedialog</span></code> — File selection dialogs</a><ul>
<li><a class="reference internal" href="#native-load-save-dialogs">Native load/save dialogs</a></li>
</ul>
</li>
<li><a class="reference internal" href="#module-tkinter.commondialog"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.commondialog</span></code> — Dialog window templates</a></li>
<li><a class="reference internal" href="#module-tkinter.dialog"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.dialog</span></code> — Classic Tk dialog boxes</a></li>
</ul>
</li>
</ul>
</div>
<div>
<h4>Previous topic</h4>
<p class="topless"><a href="tkinter.font.html"
title="previous chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.font</span></code> — Tkinter font wrapper</a></p>
</div>
<div>
<h4>Next topic</h4>
<p class="topless"><a href="tkinter.messagebox.html"
title="next chapter"><code class="xref py py-mod docutils literal notranslate"><span class="pre">tkinter.messagebox</span></code> — Tkinter message prompts</a></p>
</div>
<script>
document.addEventListener('DOMContentLoaded', () => {
const title = document.querySelector('meta[property="og:title"]').content;
const elements = document.querySelectorAll('.improvepage');
const pageurl = window.location.href.split('?')[0];
elements.forEach(element => {
const url = new URL(element.href.split('?')[0].replace("-nojs", ""));
url.searchParams.set('pagetitle', title);
url.searchParams.set('pageurl', pageurl);
url.searchParams.set('pagesource', "library/dialog.rst");
element.href = url.toString();
});
});
</script>
<div role="note" aria-label="source link">
<h3>This page</h3>
<ul class="this-page-menu">
<li><a href="../bugs.html">Report a bug</a></li>
<li><a class="improvepage" href="../improve-page-nojs.html">Improve this page</a></li>
<li>
<a href="https://github.com/python/cpython/blob/3.15/Doc/library/dialog.rst?plain=1"
rel="nofollow">Show source
</a>
</li>
</ul>
</div>
</div>
<div id="sidebarbutton" title="Collapse sidebar">
<span>«</span>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="Related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="tkinter.messagebox.html" title="tkinter.messagebox — Tkinter message prompts"
>next</a> |</li>
<li class="right" >
<a href="tkinter.font.html" title="tkinter.font — Tkinter font wrapper"
>previous</a> |</li>
<li class="root-icon"><img src="../_static/py.svg" alt="Python logo" style="vertical-align: middle; margin-top: -1px"></li>
<li><a href="https://www.python.org/">Python</a> &#187;</li>
<li class="switchers">
<div class="language_switcher_placeholder"></div>
<div class="version_switcher_placeholder"></div>
</li>
<li>
</li>
<li id="cpython-language-and-version">
<a href="../index.html">3.15.0 Documentation</a> &#187;
</li>
<li class="nav-item nav-item-1"><a href="index.html" >The Python standard library</a> &#187;</li>
<li class="nav-item nav-item-2"><a href="tk.html" >Graphical user interfaces with Tk</a> &#187;</li>
<li class="nav-item nav-item-this"><a href="">Tkinter dialogs</a></li>
<li class="right">
<div class="inline-search" role="search">
<form class="inline-search" action="../search.html" method="get">
<input placeholder="Quick search" aria-label="Quick search" type="search" name="q" id="search-box">
<input type="submit" value="Go">
</form>
</div>
|
</li>
<li class="right">
<label class="theme-selector-label">
Theme
<select class="theme-selector" oninput="activateTheme(this.value)">
<option value="auto" selected>Auto</option>
<option value="light">Light</option>
<option value="dark">Dark</option>
</select>
</label> |</li>
</ul>
</div>
<div class="footer">
&copy; <a href="../copyright.html">Copyright</a> 2001 Python Software Foundation.
<br>
This page is licensed under the Python Software Foundation License Version 2.
<br>
Examples, recipes, and other code in the documentation are additionally licensed under the Zero Clause BSD License.
<br>
See <a href="/license.html">History and License</a> for more information.<br>
<br>
The Python Software Foundation is a non-profit corporation.
<a href="https://www.python.org/psf/donations/">Please donate.</a>
<br>
<br>
Last updated on Oct 09, 2026 (11:35 UTC).
<a href="/bugs.html">Found a bug</a>?
<br>
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
</div>
</body>
</html>