mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-08 23:14:06 +08:00
11 lines
42 KiB
HTML
11 lines
42 KiB
HTML
<div class="body" role="main"><div class="section" id="module-tkinter.tix"><h1><span class="yiyi-st" id="yiyi-10">25.3. <a class="reference internal" href="#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.tix</span></code></a> - Tk的扩展小部件</span></h1><p><span class="yiyi-st" id="yiyi-11"><strong>源代码:</strong> <a class="reference external" href="https://hg.python.org/cpython/file/3.5/Lib/tkinter/tix.py">Lib / tkinter / tix.py</a></span></p><p><span class="yiyi-st" id="yiyi-12"><a class="reference internal" href="#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.tix</span></code></a>(Tk接口扩展)模块提供了一组额外的丰富的小部件。</span><span class="yiyi-st" id="yiyi-13">虽然标准的Tk库有许多有用的小部件,但它们远远不够完整。</span><span class="yiyi-st" id="yiyi-14"><a class="reference internal" href="#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.tix</span></code></a>库提供了标准Tk中缺少的大多数常用窗口小部件:<a class="reference internal" href="#tkinter.tix.HList" title="tkinter.tix.HList"><code class="xref py py-class docutils literal"><span class="pre">HList</span></code></a>,<a class="reference internal" href="#tkinter.tix.ComboBox" title="tkinter.tix.ComboBox"><code class="xref py py-class docutils literal"><span class="pre">ComboBox</span></code></a>,<a class="reference internal" href="#tkinter.tix.Control" title="tkinter.tix.Control"><code class="xref py py-class docutils literal"><span class="pre">Control</span></code></a></span><span class="yiyi-st" id="yiyi-15">SpinBox)和各种可滚动小部件。</span><span class="yiyi-st" id="yiyi-16"><a class="reference internal" href="#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.tix</span></code></a>还包括许多通用于广泛应用的小部件:<a class="reference internal" href="#tkinter.tix.NoteBook" title="tkinter.tix.NoteBook"><code class="xref py py-class docutils literal"><span class="pre">NoteBook</span></code></a>,<a class="reference internal" href="#tkinter.tix.FileEntry" title="tkinter.tix.FileEntry"><code class="xref py py-class docutils literal"><span class="pre">FileEntry</span></code></a>,<a class="reference internal" href="#tkinter.tix.PanedWindow" title="tkinter.tix.PanedWindow"><code class="xref py py-class docutils literal"><span class="pre">PanedWindow</span></code></a></span></p><p><span class="yiyi-st" id="yiyi-17">通过所有这些新的小部件,您可以将新的交互技术引入到应用程序中,创建更有用和更直观的用户界面。</span><span class="yiyi-st" id="yiyi-18">您可以通过选择最合适的小部件来设计应用程序,以满足应用程序和用户的特殊需求。</span></p><div class="admonition seealso"><p class="first admonition-title"><span class="yiyi-st" id="yiyi-19">也可以看看</span></p><dl class="last docutils"><dt><span class="yiyi-st" id="yiyi-20"><a class="reference external" href="http://tix.sourceforge.net/">Tix首页</a></span></dt><dd><span class="yiyi-st" id="yiyi-21"><code class="xref py py-mod docutils literal"><span class="pre">Tix</span></code>的主页。</span><span class="yiyi-st" id="yiyi-22">包括其他文档和下载的链接。</span></dd><dt><span class="yiyi-st" id="yiyi-23"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/">Tix Man Pages</a></span></dt><dd><span class="yiyi-st" id="yiyi-24">在线版本的手册页和参考资料。</span></dd><dt><span class="yiyi-st" id="yiyi-25"><a class="reference external" href="http://tix.sourceforge.net/dist/current/docs/tix-book/tix.book.html">Tix编程指南</a></span></dt><dd><span class="yiyi-st" id="yiyi-26">在线版本的程序员参考资料。</span></dd><dt><span class="yiyi-st" id="yiyi-27"><a class="reference external" href="http://tix.sourceforge.net/Tixapps/src/Tide.html">Tix开发应用程序</a></span></dt><dd><span class="yiyi-st" id="yiyi-28">Tix应用程序开发Tix和Tkinter程序。</span><span class="yiyi-st" id="yiyi-29">潮汐应用程序在Tk或Tkinter下工作,并包括<strong class="program">TixInspect</strong>,用于远程修改和调试Tix / Tk / Tkinter应用程序。</span></dd></dl></div><div class="section" id="using-tix"><h2><span class="yiyi-st" id="yiyi-30">25.3.1. </span><span class="yiyi-st" id="yiyi-31">Using Tix</span></h2><dl class="class"><dt id="tkinter.tix.Tk"><span class="yiyi-st" id="yiyi-32"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">Tk</code><span class="sig-paren">(</span><em>screenName=None</em>, <em>baseName=None</em>, <em>className='Tix'</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-33">Tix的顶层小部件,其大部分代表应用程序的主窗口。</span><span class="yiyi-st" id="yiyi-34">它有一个相关的Tcl解释器。</span></p><p><span class="yiyi-st" id="yiyi-35"><a class="reference internal" href="#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.tix</span></code></a>模块中的类对<a class="reference internal" href="tkinter.html#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code class="xref py py-mod docutils literal"><span class="pre">tkinter</span></code></a>中的类进行子类化。</span><span class="yiyi-st" id="yiyi-36">前者导入后者,因此要使用<a class="reference internal" href="#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.tix</span></code></a>与Tkinter,所有你需要做的是导入一个模块。</span><span class="yiyi-st" id="yiyi-37">通常,您可以直接导入<a class="reference internal" href="#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.tix</span></code></a>,并用<code class="xref py py-class docutils literal"><span class="pre">tix.Tk</span></code>替换toplevel调用<a class="reference internal" href="tkinter.html#tkinter.Tk" title="tkinter.Tk"><code class="xref py py-class docutils literal"><span class="pre">tkinter.Tk</span></code></a>:</span></p><pre><code class="language-python"><span></span><span class="kn">from</span> <span class="nn">tkinter</span> <span class="k">import</span> <span class="n">tix</span>
|
||
<span class="kn">from</span> <span class="nn">tkinter.constants</span> <span class="k">import</span> <span class="o">*</span>
|
||
<span class="n">root</span> <span class="o">=</span> <span class="n">tix</span><span class="o">.</span><span class="n">Tk</span><span class="p">()</span>
|
||
</code></pre></dd></dl><p><span class="yiyi-st" id="yiyi-38">要使用<a class="reference internal" href="#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.tix</span></code></a>,您必须安装Tix小部件,通常在安装Tk小部件的同时。</span><span class="yiyi-st" id="yiyi-39">要测试安装,请尝试以下操作:</span></p><pre><code class="language-python"><span></span><span class="kn">from</span> <span class="nn">tkinter</span> <span class="k">import</span> <span class="n">tix</span>
|
||
<span class="n">root</span> <span class="o">=</span> <span class="n">tix</span><span class="o">.</span><span class="n">Tk</span><span class="p">()</span>
|
||
<span class="n">root</span><span class="o">.</span><span class="n">tk</span><span class="o">.</span><span class="n">eval</span><span class="p">(</span><span class="s1">'package require Tix'</span><span class="p">)</span>
|
||
</code></pre><p><span class="yiyi-st" id="yiyi-40">如果这失败,您有一个Tk安装问题,在继续之前必须解决。</span><span class="yiyi-st" id="yiyi-41">Use the environment variable <span class="target" id="index-1"></span><code class="xref std std-envvar docutils literal"><span class="pre">TIX_LIBRARY</span></code> to point to the installed Tix library directory, and make sure you have the dynamic object library (<code class="file docutils literal"><span class="pre">tix8183.dll</span></code> or <code class="file docutils literal"><span class="pre">libtix8183.so</span></code>) in the same directory that contains your Tk dynamic object library (<code class="file docutils literal"><span class="pre">tk8183.dll</span></code> or <code class="file docutils literal"><span class="pre">libtk8183.so</span></code>). </span><span class="yiyi-st" id="yiyi-42">具有动态对象库的目录也应该有一个名为<code class="file docutils literal"><span class="pre">pkgIndex.tcl</span></code>(区分大小写)的文件,其中包含以下行:</span></p><pre><code class="language-python"><span></span><span class="n">package</span> <span class="n">ifneeded</span> <span class="n">Tix</span> <span class="mf">8.1</span> <span class="p">[</span><span class="nb">list</span> <span class="n">load</span> <span class="s2">"[file join $dir tix8183.dll]"</span> <span class="n">Tix</span><span class="p">]</span>
|
||
</code></pre></div><div class="section" id="tix-widgets"><h2><span class="yiyi-st" id="yiyi-43">25.3.2. </span><span class="yiyi-st" id="yiyi-44">Tix Widgets</span></h2><p><span class="yiyi-st" id="yiyi-45"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/TixIntro.htm">Tix</a>向<a class="reference internal" href="tkinter.html#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code class="xref py py-mod docutils literal"><span class="pre">tkinter</span></code></a>节目介绍了超过40个窗口小部件类。</span></p><div class="section" id="basic-widgets"><h3><span class="yiyi-st" id="yiyi-46">25.3.2.1. </span><span class="yiyi-st" id="yiyi-47">Basic Widgets</span></h3><dl class="class"><dt id="tkinter.tix.Balloon"><span class="yiyi-st" id="yiyi-48"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">Balloon</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-49">A <a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixBalloon.htm">气球</a>会弹出小部件以提供帮助。</span><span class="yiyi-st" id="yiyi-50">当用户将光标移动到已经绑定了“气球”窗口小部件的窗口小部件中时,屏幕上将显示一个带有描述性消息的小弹出窗口。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.ButtonBox"><span class="yiyi-st" id="yiyi-51"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">ButtonBox</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-52"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixButtonBox.htm">ButtonBox</a>小部件创建一个按钮,例如通常用于<code class="docutils literal"><span class="pre">确定</span> <span class="pre">取消</span></code>的按钮。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.ComboBox"><span class="yiyi-st" id="yiyi-53"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">ComboBox</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-54"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixComboBox.htm">ComboBox</a>小部件类似于MS Windows中的组合框控件。</span><span class="yiyi-st" id="yiyi-55">用户可以通过键入输入子窗口小部件或从列表框子窗口小部件中选择来选择选项。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.Control"><span class="yiyi-st" id="yiyi-56"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">Control</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-57"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixControl.htm">控件</a>小部件也称为<code class="xref py py-class docutils literal"><span class="pre">SpinBox</span></code>小部件。</span><span class="yiyi-st" id="yiyi-58">用户可以通过按两个箭头按钮或直接将值输入到条目中来调整值。</span><span class="yiyi-st" id="yiyi-59">将根据用户定义的上限和下限检查新值。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.LabelEntry"><span class="yiyi-st" id="yiyi-60"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">LabelEntry</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-61"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelEntry.htm">LabelEntry</a>小部件将一个输入小部件和一个标签封装到一个巨型小部件中。</span><span class="yiyi-st" id="yiyi-62">它可以用来简化“entry-form”类型的接口的创建。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.LabelFrame"><span class="yiyi-st" id="yiyi-63"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">LabelFrame</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-64"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixLabelFrame.htm">LabelFrame</a>小部件将框架小部件和标签封装到一个巨型小部件中。</span><span class="yiyi-st" id="yiyi-65">要在LabelFrame窗口小部件中创建窗口小部件,可以创建相对于<code class="xref py py-attr docutils literal"><span class="pre">frame</span></code>子窗口小部件的新窗口小部件,并在<code class="xref py py-attr docutils literal"><span class="pre">frame</span></code>子窗口小部件中管理它们。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.Meter"><span class="yiyi-st" id="yiyi-66"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">Meter</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-67"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixMeter.htm">Meter</a>小部件可用于显示后台作业的进度,这可能需要很长时间才能执行。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.OptionMenu"><span class="yiyi-st" id="yiyi-68"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">OptionMenu</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-69"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixOptionMenu.htm">OptionMenu</a>创建一个选项的菜单按钮。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.PopupMenu"><span class="yiyi-st" id="yiyi-70"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">PopupMenu</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-71"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPopupMenu.htm">PopupMenu</a>小部件可用于替换<code class="docutils literal"><span class="pre">tk_popup</span></code>命令。</span><span class="yiyi-st" id="yiyi-72"><code class="xref py py-mod docutils literal"><span class="pre">Tix</span></code> <a class="reference internal" href="#tkinter.tix.PopupMenu" title="tkinter.tix.PopupMenu"><code class="xref py py-class docutils literal"><span class="pre">PopupMenu</span></code></a>小部件的优点是它需要较少的应用程序代码来操作。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.Select"><span class="yiyi-st" id="yiyi-73"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">Select</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-74"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixSelect.htm">选择</a>小部件是按钮子小部件的容器。</span><span class="yiyi-st" id="yiyi-75">它可用于为用户提供收音箱或复选框风格的选择选项。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.StdButtonBox"><span class="yiyi-st" id="yiyi-76"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">StdButtonBox</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-77"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixStdButtonBox.htm">StdButtonBox</a>小部件是一组用于Motif式对话框的标准按钮。</span></p></dd></dl></div><div class="section" id="file-selectors"><h3><span class="yiyi-st" id="yiyi-78">25.3.2.2. </span><span class="yiyi-st" id="yiyi-79">File Selectors</span></h3><dl class="class"><dt id="tkinter.tix.DirList"><span class="yiyi-st" id="yiyi-80"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">DirList</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-81"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirList.htm">DirList</a>小部件显示目录,其以前的目录及其子目录的列表视图。</span><span class="yiyi-st" id="yiyi-82">用户可以选择列表中显示的目录中的一个或更改为另一个目录。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.DirTree"><span class="yiyi-st" id="yiyi-83"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">DirTree</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-84"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirTree.htm">DirTree</a>小部件显示目录,其以前的目录及其子目录的树视图。</span><span class="yiyi-st" id="yiyi-85">用户可以选择列表中显示的目录中的一个或更改为另一个目录。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.DirSelectDialog"><span class="yiyi-st" id="yiyi-86"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">DirSelectDialog</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-87"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixDirSelectDialog.htm">DirSelectDialog</a>小部件在对话框窗口中显示文件系统中的目录。</span><span class="yiyi-st" id="yiyi-88">用户可以使用此对话窗口在文件系统中导航以选择所需的目录。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.DirSelectBox"><span class="yiyi-st" id="yiyi-89"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">DirSelectBox</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-90"><a class="reference internal" href="#tkinter.tix.DirSelectBox" title="tkinter.tix.DirSelectBox"><code class="xref py py-class docutils literal"><span class="pre">DirSelectBox</span></code></a>类似于标准Motif(TM)目录选择框。</span><span class="yiyi-st" id="yiyi-91">它通常用于用户选择目录。</span><span class="yiyi-st" id="yiyi-92">DirSelectBox将最近选择的目录存储到ComboBox小部件中,以便可以再次快速选择它们。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.ExFileSelectBox"><span class="yiyi-st" id="yiyi-93"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">ExFileSelectBox</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-94"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixExFileSelectBox.htm">ExFileSelectBox</a>小部件通常嵌入在tixExFileSelectDialog小部件中。</span><span class="yiyi-st" id="yiyi-95">它为用户提供了一种方便的方法来选择文件。</span><span class="yiyi-st" id="yiyi-96"><a class="reference internal" href="#tkinter.tix.ExFileSelectBox" title="tkinter.tix.ExFileSelectBox"><code class="xref py py-class docutils literal"><span class="pre">ExFileSelectBox</span></code></a>小部件的样式与MS Windows 3.1上的标准文件对话框非常相似。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.FileSelectBox"><span class="yiyi-st" id="yiyi-97"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">FileSelectBox</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-98"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileSelectBox.htm">FileSelectBox</a>类似于标准Motif(TM)文件选择框。</span><span class="yiyi-st" id="yiyi-99">它一般用于用户选择一个文件。</span><span class="yiyi-st" id="yiyi-100">FileSelectBox将最近选择的文件存储到<a class="reference internal" href="#tkinter.tix.ComboBox" title="tkinter.tix.ComboBox"><code class="xref py py-class docutils literal"><span class="pre">ComboBox</span></code></a>小部件中,以便可以再次快速选择它们。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.FileEntry"><span class="yiyi-st" id="yiyi-101"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">FileEntry</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-102"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixFileEntry.htm">FileEntry</a>小部件可用于输入文件名。</span><span class="yiyi-st" id="yiyi-103">用户可以手动键入文件名。</span><span class="yiyi-st" id="yiyi-104">或者,用户可以按下该条目旁边的按钮小部件,这将打开文件选择对话框。</span></p></dd></dl></div><div class="section" id="hierarchical-listbox"><h3><span class="yiyi-st" id="yiyi-105">25.3.2.3. </span><span class="yiyi-st" id="yiyi-106">Hierarchical ListBox</span></h3><dl class="class"><dt id="tkinter.tix.HList"><span class="yiyi-st" id="yiyi-107"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">HList</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-108"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixHList.htm">HList</a>小部件可用于显示具有层次结构的任何数据,例如文件系统目录树。</span><span class="yiyi-st" id="yiyi-109">列表条目缩进,并通过分支线根据它们在层次结构中的位置连接。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.CheckList"><span class="yiyi-st" id="yiyi-110"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">CheckList</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-111"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixCheckList.htm">CheckList</a>小部件显示用户要选择的项目列表。</span><span class="yiyi-st" id="yiyi-112">CheckList的行为类似于Tk检查按钮或单选按钮小部件,除了它能够处理比检查按钮或单选按钮更多的项目。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.Tree"><span class="yiyi-st" id="yiyi-113"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">Tree</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-114"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTree.htm">树</a>小部件可用于以树形式显示分层数据。</span><span class="yiyi-st" id="yiyi-115">用户可以通过打开或关闭树的部分来调整树的视图。</span></p></dd></dl></div><div class="section" id="tabular-listbox"><h3><span class="yiyi-st" id="yiyi-116">25.3.2.4. </span><span class="yiyi-st" id="yiyi-117">Tabular ListBox</span></h3><dl class="class"><dt id="tkinter.tix.TList"><span class="yiyi-st" id="yiyi-118"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">TList</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-119"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixTList.htm">TList</a>小部件可用于以表格格式显示数据。</span><span class="yiyi-st" id="yiyi-120"><a class="reference internal" href="#tkinter.tix.TList" title="tkinter.tix.TList"><code class="xref py py-class docutils literal"><span class="pre">TList</span></code></a>小部件的列表条目与Tk列表框小部件中的条目类似。</span><span class="yiyi-st" id="yiyi-121">主要的区别是:(1)<a class="reference internal" href="#tkinter.tix.TList" title="tkinter.tix.TList"><code class="xref py py-class docutils literal"><span class="pre">TList</span></code></a>小部件可以以二维格式显示列表条目,以及(2)可以使用图形图像以及列表条目的多种颜色和字体。</span></p></dd></dl></div><div class="section" id="manager-widgets"><h3><span class="yiyi-st" id="yiyi-122">25.3.2.5. </span><span class="yiyi-st" id="yiyi-123">Manager Widgets</span></h3><dl class="class"><dt id="tkinter.tix.PanedWindow"><span class="yiyi-st" id="yiyi-124"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">PanedWindow</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-125"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixPanedWindow.htm">PanedWindow</a>小部件允许用户交互式操作几个窗格的大小。</span><span class="yiyi-st" id="yiyi-126">窗格可以垂直或水平布置。</span><span class="yiyi-st" id="yiyi-127">用户通过在两个窗格之间拖动调整大小手柄来更改窗格的大小。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.ListNoteBook"><span class="yiyi-st" id="yiyi-128"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">ListNoteBook</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-129"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixListNoteBook.htm">ListNoteBook</a>小部件与<code class="xref py py-class docutils literal"><span class="pre">TixNoteBook</span></code>小部件非常相似:它可以用于使用笔记本隐喻在有限的空间中显示多个窗口。</span><span class="yiyi-st" id="yiyi-130">笔记本被分成一堆页(窗口)。</span><span class="yiyi-st" id="yiyi-131">一次只能显示其中一个页面。</span><span class="yiyi-st" id="yiyi-132">用户可以通过在<code class="xref py py-attr docutils literal"><span class="pre">hlist</span></code>子窗口小部件中选择所需页面的名称来浏览这些页面。</span></p></dd></dl><dl class="class"><dt id="tkinter.tix.NoteBook"><span class="yiyi-st" id="yiyi-133"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">NoteBook</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-134"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixNoteBook.htm">NoteBook</a>小部件可用于在有限的空间中使用笔记本隐喻显示许多窗口。</span><span class="yiyi-st" id="yiyi-135">笔记本分为一堆页面。</span><span class="yiyi-st" id="yiyi-136">一次只能显示其中一个页面。</span><span class="yiyi-st" id="yiyi-137">用户可以通过选择NoteBook小部件顶部的可视“选项卡”来浏览这些页面。</span></p></dd></dl></div><div class="section" id="image-types"><h3><span class="yiyi-st" id="yiyi-138">25.3.2.6. </span><span class="yiyi-st" id="yiyi-139">Image Types</span></h3><p><span class="yiyi-st" id="yiyi-140"><a class="reference internal" href="#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.tix</span></code></a>模块添加:</span></p><ul class="simple"><li><span class="yiyi-st" id="yiyi-141">对所有<a class="reference internal" href="#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.tix</span></code></a>和<a class="reference internal" href="tkinter.html#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code class="xref py py-mod docutils literal"><span class="pre">tkinter</span></code></a>小部件的<a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/pixmap.htm">pixmap</a>功能,从XPM文件创建彩色图像。</span></li><li><span class="yiyi-st" id="yiyi-142"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/compound.htm">复合</a>图像类型可用于创建由多个水平线组成的图像;每行由从左到右排列的一系列项目(文本,位图,图像或空格)组成。</span><span class="yiyi-st" id="yiyi-143">例如,复合图像可以用于在Tk <code class="xref py py-class docutils literal"><span class="pre">Button</span></code>小部件中同时显示位图和文本字符串。</span></li></ul></div><div class="section" id="miscellaneous-widgets"><h3><span class="yiyi-st" id="yiyi-144">25.3.2.7. </span><span class="yiyi-st" id="yiyi-145">Miscellaneous Widgets</span></h3><dl class="class"><dt id="tkinter.tix.InputOnly"><span class="yiyi-st" id="yiyi-146"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">InputOnly</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-147"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixInputOnly.htm">InputOnly</a>小部件接受用户的输入,可以使用<code class="docutils literal"><span class="pre">bind</span></code>命令(仅限Unix)完成。</span></p></dd></dl></div><div class="section" id="form-geometry-manager"><h3><span class="yiyi-st" id="yiyi-148">25.3.2.8. </span><span class="yiyi-st" id="yiyi-149">Form Geometry Manager</span></h3><p><span class="yiyi-st" id="yiyi-150">此外,通过提供以下内容,<a class="reference internal" href="#module-tkinter.tix" title="tkinter.tix: Tk Extension Widgets for Tkinter"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.tix</span></code></a>增加<a class="reference internal" href="tkinter.html#module-tkinter" title="tkinter: Interface to Tcl/Tk for graphical user interfaces"><code class="xref py py-mod docutils literal"><span class="pre">tkinter</span></code></a></span></p><dl class="class"><dt id="tkinter.tix.Form"><span class="yiyi-st" id="yiyi-151"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">Form</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-152">基于所有Tk小部件的附件规则的<a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tixForm.htm">表单</a>几何管理器。</span></p></dd></dl></div></div><div class="section" id="tix-commands"><h2><span class="yiyi-st" id="yiyi-153">25.3.3. </span><span class="yiyi-st" id="yiyi-154">Tix Commands</span></h2><dl class="class"><dt id="tkinter.tix.tixCommand"><span class="yiyi-st" id="yiyi-155"> <em class="property">class </em><code class="descclassname">tkinter.tix.</code><code class="descname">tixCommand</code></span></dt><dd><p><span class="yiyi-st" id="yiyi-156"><a class="reference external" href="http://tix.sourceforge.net/dist/current/man/html/TixCmd/tix.htm">tix命令</a>提供对<code class="xref py py-mod docutils literal"><span class="pre">Tix</span></code>的内部状态和<code class="xref py py-mod docutils literal"><span class="pre">Tix</span></code>应用程序上下文的其他元素的访问。</span><span class="yiyi-st" id="yiyi-157">通过这些方法操纵的大多数信息作为整体或者屏幕或显示器而不是特定窗口属于应用。</span></p><p><span class="yiyi-st" id="yiyi-158">要查看当前设置,常见的用法是:</span></p><pre><code class="language-python"><span></span><span class="kn">from</span> <span class="nn">tkinter</span> <span class="k">import</span> <span class="n">tix</span>
|
||
<span class="n">root</span> <span class="o">=</span> <span class="n">tix</span><span class="o">.</span><span class="n">Tk</span><span class="p">()</span>
|
||
<span class="nb">print</span><span class="p">(</span><span class="n">root</span><span class="o">.</span><span class="n">tix_configure</span><span class="p">())</span>
|
||
</code></pre></dd></dl><dl class="method"><dt id="tkinter.tix.tixCommand.tix_configure"><span class="yiyi-st" id="yiyi-159"> <code class="descclassname">tixCommand.</code><code class="descname">tix_configure</code><span class="sig-paren">(</span><em>cnf=None</em>, <em>**kw</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-160">查询或修改Tix应用程序上下文的配置选项。</span><span class="yiyi-st" id="yiyi-161">如果未指定任何选项,则返回所有可用选项的字典。</span><span class="yiyi-st" id="yiyi-162">如果指定的选项没有值,那么该方法返回一个描述一个命名选项的列表(如果没有指定选项,此列表将与返回的值的相应子列表相同)。</span><span class="yiyi-st" id="yiyi-163">如果指定了一个或多个选项 - 值对,则该方法将给定的选项修改为具有给定的值;在这种情况下,该方法返回一个空字符串。</span><span class="yiyi-st" id="yiyi-164">选项可以是任何配置选项。</span></p></dd></dl><dl class="method"><dt id="tkinter.tix.tixCommand.tix_cget"><span class="yiyi-st" id="yiyi-165"> <code class="descclassname">tixCommand.</code><code class="descname">tix_cget</code><span class="sig-paren">(</span><em>option</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-166">返回由<em>选项</em>给出的配置选项的当前值。</span><span class="yiyi-st" id="yiyi-167">选项可以是任何配置选项。</span></p></dd></dl><dl class="method"><dt id="tkinter.tix.tixCommand.tix_getbitmap"><span class="yiyi-st" id="yiyi-168"> <code class="descclassname">tixCommand.</code><code class="descname">tix_getbitmap</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-169">在其中一个位图目录中找到名为<code class="docutils literal"><span class="pre">name.xpm</span></code>或<code class="docutils literal"><span class="pre">name</span></code>的位图文件(请参阅<a class="reference internal" href="#tkinter.tix.tixCommand.tix_addbitmapdir" title="tkinter.tix.tixCommand.tix_addbitmapdir"><code class="xref py py-meth docutils literal"><span class="pre">tix_addbitmapdir()</span></code></a>方法)。</span><span class="yiyi-st" id="yiyi-170">通过使用<a class="reference internal" href="#tkinter.tix.tixCommand.tix_getbitmap" title="tkinter.tix.tixCommand.tix_getbitmap"><code class="xref py py-meth docutils literal"><span class="pre">tix_getbitmap()</span></code></a>,您可以避免对应用程序中位图文件的路径名进行硬编码。</span><span class="yiyi-st" id="yiyi-171">成功时,它返回位图文件的完整路径名,前缀为字符<code class="docutils literal"><span class="pre">@</span></code>。</span><span class="yiyi-st" id="yiyi-172">返回的值可用于配置Tk和Tix小部件的<code class="docutils literal"><span class="pre">bitmap</span></code>选项。</span></p></dd></dl><dl class="method"><dt id="tkinter.tix.tixCommand.tix_addbitmapdir"><span class="yiyi-st" id="yiyi-173"> <code class="descclassname">tixCommand.</code><code class="descname">tix_addbitmapdir</code><span class="sig-paren">(</span><em>directory</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-174">Tix维护一个目录列表,在该目录下,<a class="reference internal" href="#tkinter.tix.tixCommand.tix_getimage" title="tkinter.tix.tixCommand.tix_getimage"><code class="xref py py-meth docutils literal"><span class="pre">tix_getimage()</span></code></a>和<a class="reference internal" href="#tkinter.tix.tixCommand.tix_getbitmap" title="tkinter.tix.tixCommand.tix_getbitmap"><code class="xref py py-meth docutils literal"><span class="pre">tix_getbitmap()</span></code></a>方法将搜索图像文件。</span><span class="yiyi-st" id="yiyi-175">标准位图目录为<code class="file docutils literal"><span class="pre">$TIX_LIBRARY/bitmaps</span></code>。</span><span class="yiyi-st" id="yiyi-176"><a class="reference internal" href="#tkinter.tix.tixCommand.tix_addbitmapdir" title="tkinter.tix.tixCommand.tix_addbitmapdir"><code class="xref py py-meth docutils literal"><span class="pre">tix_addbitmapdir()</span></code></a>方法会将<em>目录</em>添加到此列表中。</span><span class="yiyi-st" id="yiyi-177">通过使用此方法,还可以使用<a class="reference internal" href="#tkinter.tix.tixCommand.tix_getimage" title="tkinter.tix.tixCommand.tix_getimage"><code class="xref py py-meth docutils literal"><span class="pre">tix_getimage()</span></code></a>或<a class="reference internal" href="#tkinter.tix.tixCommand.tix_getbitmap" title="tkinter.tix.tixCommand.tix_getbitmap"><code class="xref py py-meth docutils literal"><span class="pre">tix_getbitmap()</span></code></a>方法来定位应用程序的图像文件。</span></p></dd></dl><dl class="method"><dt id="tkinter.tix.tixCommand.tix_filedialog"><span class="yiyi-st" id="yiyi-178"> <code class="descclassname">tixCommand.</code><code class="descname">tix_filedialog</code><span class="sig-paren">(</span><span class="optional">[</span><em>dlgclass</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-179">返回可在此应用程序的不同调用之间共享的文件选择对话框。</span><span class="yiyi-st" id="yiyi-180">此方法将在第一次调用时创建文件选择对话框窗口部件。</span><span class="yiyi-st" id="yiyi-181">所有后续调用<a class="reference internal" href="#tkinter.tix.tixCommand.tix_filedialog" title="tkinter.tix.tixCommand.tix_filedialog"><code class="xref py py-meth docutils literal"><span class="pre">tix_filedialog()</span></code></a>将返回此对话框。</span><span class="yiyi-st" id="yiyi-182">可选的dlgclass参数可以作为字符串传递到指定期望什么类型的文件选择对话框窗口部件。</span><span class="yiyi-st" id="yiyi-183">可能的选项为<code class="docutils literal"><span class="pre">tix</span></code>,<code class="docutils literal"><span class="pre">FileSelectDialog</span></code>或<code class="docutils literal"><span class="pre">tixExFileSelectDialog</span></code>。</span></p></dd></dl><dl class="method"><dt id="tkinter.tix.tixCommand.tix_getimage"><span class="yiyi-st" id="yiyi-184"> <code class="descclassname">tixCommand.</code><code class="descname">tix_getimage</code><span class="sig-paren">(</span><em>self</em>, <em>name</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-185">在其中一个位图目录中找到名称<code class="file docutils literal"><span class="pre">name.xpm</span></code>,<code class="file docutils literal"><span class="pre">name.xbm</span></code>或<code class="file docutils literal"><span class="pre">name.ppm</span></code>的图像文件(请参阅<a class="reference internal" href="#tkinter.tix.tixCommand.tix_addbitmapdir" title="tkinter.tix.tixCommand.tix_addbitmapdir"><code class="xref py py-meth docutils literal"><span class="pre">tix_addbitmapdir()</span></code></a>方法)。</span><span class="yiyi-st" id="yiyi-186">如果存在多个具有相同名称(但不同的扩展名)的文件,则根据X显示器的深度选择图像类型:在单色显示器上选择xbm图像,并且在彩色显示器上选择彩色图像。</span><span class="yiyi-st" id="yiyi-187">通过使用<a class="reference internal" href="#tkinter.tix.tixCommand.tix_getimage" title="tkinter.tix.tixCommand.tix_getimage"><code class="xref py py-meth docutils literal"><span class="pre">tix_getimage()</span></code></a>,您可以避免在应用程序中对图像文件的路径名进行硬编码。</span><span class="yiyi-st" id="yiyi-188">成功时,此方法返回新创建的图像的名称,可用于配置Tk和Tix小部件的<code class="docutils literal"><span class="pre">image</span></code>选项。</span></p></dd></dl><dl class="method"><dt id="tkinter.tix.tixCommand.tix_option_get"><span class="yiyi-st" id="yiyi-189"> <code class="descclassname">tixCommand.</code><code class="descname">tix_option_get</code><span class="sig-paren">(</span><em>name</em><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-190">获取由Tix方案机制维护的选项。</span></p></dd></dl><dl class="method"><dt id="tkinter.tix.tixCommand.tix_resetoptions"><span class="yiyi-st" id="yiyi-191"> <code class="descclassname">tixCommand.</code><code class="descname">tix_resetoptions</code><span class="sig-paren">(</span><em>newScheme</em>, <em>newFontSet</em><span class="optional">[</span>, <em>newScmPrio</em><span class="optional">]</span><span class="sig-paren">)</span></span></dt><dd><p><span class="yiyi-st" id="yiyi-192">将Tix应用程序的方案和字体集分别重置为<em>newScheme</em>和<em>newFontSet</em>。</span><span class="yiyi-st" id="yiyi-193">这仅影响在此调用后创建的窗口小部件。</span><span class="yiyi-st" id="yiyi-194">因此,最好在Tix应用程序中创建任何小部件之前调用resetoptions方法。</span></p><p><span class="yiyi-st" id="yiyi-195">可以给出可选参数<em>newScmPrio</em>以重置由Tix方案设置的Tk选项的优先级。</span></p><p><span class="yiyi-st" id="yiyi-196">由于Tk处理X选项数据库的方式,在导入和引入Tix之后,不能使用<code class="xref py py-meth docutils literal"><span class="pre">tix_config()</span></code>方法重置颜色方案和字体集。</span><span class="yiyi-st" id="yiyi-197">相反,必须使用<a class="reference internal" href="#tkinter.tix.tixCommand.tix_resetoptions" title="tkinter.tix.tixCommand.tix_resetoptions"><code class="xref py py-meth docutils literal"><span class="pre">tix_resetoptions()</span></code></a>方法。</span></p></dd></dl></div></div></div> |