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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Dialogs — wxGlade 1.1.1 documentation</title>
<link rel="stylesheet" href="_static/classic.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="_static/css/custom.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: './',
VERSION: '1.1.1',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Custom Widget" href="custom_widgets.html" />
<link rel="prev" title="Create and Use Source Code" href="source_code.html" />
</head>
<body>
<div class="related" role="navigation" aria-label="related navigation">
<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="custom_widgets.html" title="Custom Widget"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="source_code.html" title="Create and Use Source Code"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">wxGlade 1.1.1 documentation</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="dialogs">
<h1>Dialogs<a class="headerlink" href="#dialogs" title="Permalink to this headline">¶</a></h1>
<p>Most applications consist of a ‘permanent’ main window - typically a frame - and ‘temporary’ dialogs.</p>
<p>See <code class="docutils literal"><span class="pre">wxglade/examples/dialog</span></code> for an example application how to create and use dialogs.
The example opens the dialog on pressing a button or selecting a menu entry.</p>
<table border="1" class="docutils">
<colgroup>
<col width="100%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="first last reference internal image-reference" href="_images/DialogExample.png"><img alt="screenshot from running examples/dialog/dialog.py with the dialog open" src="_images/DialogExample.png" style="width: 200px;" /></a>
</td>
</tr>
</tbody>
</table>
<p>When you add a new dialog <img alt="dialog" src="_images/dialog.png" />, you will be offered to add some default buttons like <span class="guilabel">OK</span> and <span class="guilabel">Cancel</span>:</p>
<table border="1" class="docutils">
<colgroup>
<col width="100%" />
</colgroup>
<tbody valign="top">
<tr class="row-odd"><td><a class="first last reference internal image-reference" href="_images/NewDialog.png"><img alt="screenshot for new dialog" src="_images/NewDialog.png" style="height: 200px;" /></a>
</td>
</tr>
</tbody>
</table>
<p>These will be placed in a <span class="guilabel">StdDialogButtonSizer</span> which will arrange the buttons such that the ordering matches
the OS style guide.</p>
<p>Also, the buttons will use <span class="guilabel">StockItems</span> and e.g. <code class="code docutils literal"><span class="pre">button.SetDefault</span></code>,
<code class="code docutils literal"><span class="pre">dialog.SetAffirmativeId</span></code> and <code class="code docutils literal"><span class="pre">dialog.SetEscapeId</span></code> will be called.</p>
<p>These are the generated lines of code that are specific for stock item buttons and using them in a dialog:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">sizer_2</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">StdDialogButtonSizer</span><span class="p">()</span>
<span class="o">...</span>
<span class="bp">self</span><span class="o">.</span><span class="n">button_OK</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">button_OK</span><span class="o">.</span><span class="n">SetDefault</span><span class="p">()</span>
<span class="n">sizer_2</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">button_OK</span><span class="p">)</span>
<span class="bp">self</span><span class="o">.</span><span class="n">button_CANCEL</span> <span class="o">=</span> <span class="n">wx</span><span class="o">.</span><span class="n">Button</span><span class="p">(</span><span class="bp">self</span><span class="p">,</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_CANCEL</span><span class="p">,</span> <span class="s2">""</span><span class="p">)</span>
<span class="n">sizer_2</span><span class="o">.</span><span class="n">AddButton</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">button_CANCEL</span><span class="p">)</span>
<span class="n">sizer_2</span><span class="o">.</span><span class="n">Realize</span><span class="p">()</span>
<span class="o">...</span>
<span class="bp">self</span><span class="o">.</span><span class="n">SetAffirmativeId</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">button_OK</span><span class="o">.</span><span class="n">GetId</span><span class="p">())</span> <span class="c1"># select this button when Enter is hit</span>
<span class="bp">self</span><span class="o">.</span><span class="n">SetEscapeId</span><span class="p">(</span><span class="bp">self</span><span class="o">.</span><span class="n">button_CANCEL</span><span class="o">.</span><span class="n">GetId</span><span class="p">())</span> <span class="c1"># select this button when Escape is hit</span>
</pre></div>
</div>
<p>The dialog is created and used like this:</p>
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="k">with</span> <span class="n">MyDialog</span><span class="p">(</span><span class="bp">self</span><span class="p">)</span> <span class="k">as</span> <span class="n">dlg</span><span class="p">:</span>
<span class="c1"># fill dialog widgets with values here</span>
<span class="c1"># show as modal dialog</span>
<span class="k">if</span> <span class="n">dlg</span><span class="o">.</span><span class="n">ShowModal</span><span class="p">()</span> <span class="o">==</span> <span class="n">wx</span><span class="o">.</span><span class="n">ID_OK</span><span class="p">:</span>
<span class="nb">print</span><span class="p">(</span><span class="s2">"User has hit OK"</span><span class="p">)</span>
</pre></div>
</div>
<p>Please note that the dialog in the example file does not have the size property defined.
Therefore the dialog will be created with the minimum size that fits the content.</p>
<dl class="docutils">
<dt>The files can be found in the folder <code class="docutils literal"><span class="pre">wxglade/examples/dialog</span></code>:</dt>
<dd><ul class="first last simple">
<li><a class="reference external" href="../../examples/dialog/dialog.wxg">dialog.wxg</a></li>
<li><a class="reference external" href="../../examples/dialog/dialog.py">dialog.py</a></li>
</ul>
</dd>
</dl>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="index.html">
<img class="logo" src="_static/wxglade.png" alt="Logo"/>
</a></p>
<h4>Previous topic</h4>
<p class="topless"><a href="source_code.html"
title="previous chapter">Create and Use Source Code</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="custom_widgets.html"
title="next chapter">Custom Widget</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/dialogs.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<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="custom_widgets.html" title="Custom Widget"
>next</a> |</li>
<li class="right" >
<a href="source_code.html" title="Create and Use Source Code"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="index.html">wxGlade 1.1.1 documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2017-2025, Dietmar Schwertberger.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.6.4.
</div>
</body>
</html>
|