mirror of
https://github.com/fofolee/uTools-Manuals.git
synced 2025-06-08 23:14:06 +08:00
1 line
20 KiB
HTML
1 line
20 KiB
HTML
<div class="body" role="main"><div class="section" id="graphical-user-interfaces-with-tk"><h1><span class="yiyi-st" id="yiyi-9">25. </span><span class="yiyi-st" id="yiyi-10">Graphical User Interfaces with Tk</span></h1><p id="index-0"><span class="yiyi-st" id="yiyi-11">Tk/Tcl 一直都是 Python 的一个组成部分。</span><span class="yiyi-st" id="yiyi-12">它提供了一个强大的,与平台无关的窗口工具包,可供 Python 程序员使用<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 internal" href="tkinter.tix.html#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.ttk.html#module-tkinter.ttk" title="tkinter.ttk: Tk themed widget set"><code class="xref py py-mod docutils literal"><span class="pre">tkinter.ttk</span></code></a> 模块。</span></p><p><span class="yiyi-st" id="yiyi-13"><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> 库是基于 Tcl / Tk 的一个轻量的面向对象层。</span><span class="yiyi-st" id="yiyi-14">使用 <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>,不需要编写 Tcl 代码,但是需要参阅 Tk 文档,有时也需要参阅 Tcl 文档。</span><span class="yiyi-st" id="yiyi-15"><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> 是将 Tk 控件实现为 Python 类的一系列封装。</span><span class="yiyi-st" id="yiyi-16">此外,内部模块 <code class="xref py py-mod docutils literal"><span class="pre">_tkinter</span></code> 提供了允许 Python 和 Tcl 进行交互的线程安全机制。</span></p><p><span class="yiyi-st" id="yiyi-17"><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> 的主要优点是它的速度很快,而且通常 Python 都有捆绑自带。</span><span class="yiyi-st" id="yiyi-18">虽然它的标准帮助文档薄弱,但是有优质的资料可供阅读,包括:参考、教程、一本书和其他。</span><span class="yiyi-st" id="yiyi-19"><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> 界面让人觉得过时,在 Tk 8.5 中得到了极大的改进。</span><span class="yiyi-st" id="yiyi-20">不过,GUI 库还有更多其他的选择,你可能会对这些感兴趣。</span><span class="yiyi-st" id="yiyi-21">有关可选库的详细信息,请参阅<a class="reference internal" href="othergui.html#other-gui-packages"><span>其它图形用户界面库</span></a>章节。</span></p><div class="toctree-wrapper compound"><ul><li class="toctree-l1"><span class="yiyi-st" id="yiyi-40"><a class="reference internal" href="tkinter.html">25.1. <code class="docutils literal"><span class="pre">tkinter</span></code> - Tcl / Tk的Python接口</a></span><ul><li class="toctree-l2"><span class="yiyi-st" id="yiyi-22"><a class="reference internal" href="tkinter.html#tkinter-modules">25.1.1. Tkinter模块</a></span></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-25"><a class="reference internal" href="tkinter.html#tkinter-life-preserver">25.1.2. Tkinter Life Preserver</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-23"><a class="reference internal" href="tkinter.html#how-to-use-this-section">25.1.2.1.如何使用本节</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-24"><a class="reference internal" href="tkinter.html#a-simple-hello-world-program">25.1.2.2.一个简单的Hello World程序</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-26"><a class="reference internal" href="tkinter.html#a-very-quick-look-at-tcl-tk">25.1.3. A(非常)快速查看Tcl / Tk</a></span></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-27"><a class="reference internal" href="tkinter.html#mapping-basic-tk-into-tkinter">25.1.4.将Tkinter映射到Tkinter</a></span></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-28"><a class="reference internal" href="tkinter.html#how-tk-and-tkinter-are-related">25.1.5. Tk和Tkinter如何相关</a></span></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-38"><a class="reference internal" href="tkinter.html#handy-reference">25.1.6.方便参考</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-29"><a class="reference internal" href="tkinter.html#setting-options">25.1.6.1.设置选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-30"><a class="reference internal" href="tkinter.html#the-packer">25.1.6.2.封隔器</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-31"><a class="reference internal" href="tkinter.html#packer-options">25.1.6.3.封隔器选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-32"><a class="reference internal" href="tkinter.html#coupling-widget-variables">25.1.6.4.耦合小部件变量</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-33"><a class="reference internal" href="tkinter.html#the-window-manager">25.1.6.5.窗口管理器</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-34"><a class="reference internal" href="tkinter.html#tk-option-data-types">25.1.6.6. Tk选项数据类型</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-35"><a class="reference internal" href="tkinter.html#bindings-and-events">25.1.6.7.绑定和事件</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-36"><a class="reference internal" href="tkinter.html#the-index-parameter">25.1.6.8.索引参数</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-37"><a class="reference internal" href="tkinter.html#images">25.1.6.9.图片</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-39"><a class="reference internal" href="tkinter.html#file-handlers">25.1.7.文件处理程序</a></span></li></ul></li><li class="toctree-l1"><span class="yiyi-st" id="yiyi-77"><a class="reference internal" href="tkinter.ttk.html">25.2. <code class="docutils literal"><span class="pre">tkinter.ttk</span></code> - Tk主题窗口小部件</a></span><ul><li class="toctree-l2"><span class="yiyi-st" id="yiyi-41"><a class="reference internal" href="tkinter.ttk.html#using-ttk">25.2.1.使用Ttk</a></span></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-42"><a class="reference internal" href="tkinter.ttk.html#ttk-widgets">25.2.2. Ttk小部件</a></span></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-49"><a class="reference internal" href="tkinter.ttk.html#widget">25.2.3.小部件</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-43"><a class="reference internal" href="tkinter.ttk.html#standard-options">25.2.3.1.标准选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-44"><a class="reference internal" href="tkinter.ttk.html#scrollable-widget-options">25.2.3.2.可滚动小部件选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-45"><a class="reference internal" href="tkinter.ttk.html#label-options">25.2.3.3.标签选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-46"><a class="reference internal" href="tkinter.ttk.html#compatibility-options">25.2.3.4.兼容性选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-47"><a class="reference internal" href="tkinter.ttk.html#widget-states">25.2.3.5.小部件状态</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-48"><a class="reference internal" href="tkinter.ttk.html#ttk-widget">25.2.3.6. ttk.Widget</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-53"><a class="reference internal" href="tkinter.ttk.html#combobox">25.2.4. Combobox</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-50"><a class="reference internal" href="tkinter.ttk.html#options">25.2.4.1.选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-51"><a class="reference internal" href="tkinter.ttk.html#virtual-events">25.2.4.2.虚拟事件</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-52"><a class="reference internal" href="tkinter.ttk.html#ttk-combobox">25.2.4.3. ttk.Combobox</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-59"><a class="reference internal" href="tkinter.ttk.html#notebook">25.2.5.笔记本</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-54"><a class="reference internal" href="tkinter.ttk.html#id1">25.2.5.1.选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-55"><a class="reference internal" href="tkinter.ttk.html#tab-options">25.2.5.2.标签选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-56"><a class="reference internal" href="tkinter.ttk.html#tab-identifiers">25.2.5.3.标签标识符</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-57"><a class="reference internal" href="tkinter.ttk.html#id2">25.2.5.4.虚拟事件</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-58"><a class="reference internal" href="tkinter.ttk.html#ttk-notebook">25.2.5.5. ttk.Notebook</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-62"><a class="reference internal" href="tkinter.ttk.html#progressbar">25.2.6.进度栏</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-60"><a class="reference internal" href="tkinter.ttk.html#id3">25.2.6.1.选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-61"><a class="reference internal" href="tkinter.ttk.html#ttk-progressbar">25.2.6.2. ttk.Progressbar</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-64"><a class="reference internal" href="tkinter.ttk.html#separator">25.2.7.分隔符</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-63"><a class="reference internal" href="tkinter.ttk.html#id4">25.2.7.1.选项</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-67"><a class="reference internal" href="tkinter.ttk.html#sizegrip">25.2.8. Sizegrip</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-65"><a class="reference internal" href="tkinter.ttk.html#platform-specific-notes">25.2.8.1.平台特定的笔记</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-66"><a class="reference internal" href="tkinter.ttk.html#bugs">25.2.8.2.错误</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-74"><a class="reference internal" href="tkinter.ttk.html#treeview">25.2.9. Treeview</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-68"><a class="reference internal" href="tkinter.ttk.html#id5">25.2.9.1.选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-69"><a class="reference internal" href="tkinter.ttk.html#item-options">25.2.9.2.项目选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-70"><a class="reference internal" href="tkinter.ttk.html#tag-options">25.2.9.3.标签选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-71"><a class="reference internal" href="tkinter.ttk.html#column-identifiers">25.2.9.4.列标识符</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-72"><a class="reference internal" href="tkinter.ttk.html#id6">25.2.9.5.虚拟事件</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-73"><a class="reference internal" href="tkinter.ttk.html#ttk-treeview">25.2.9.6. ttk.Treeview</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-76"><a class="reference internal" href="tkinter.ttk.html#ttk-styling">25.2.10. Ttk样式</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-75"><a class="reference internal" href="tkinter.ttk.html#layouts">25.2.10.1.布局</a></span></li></ul></li></ul></li><li class="toctree-l1"><span class="yiyi-st" id="yiyi-89"><a class="reference internal" href="tkinter.tix.html">25.3. <code class="docutils literal"><span class="pre">tkinter.tix</span></code> - Tk</a>的扩展小部件</span><ul><li class="toctree-l2"><span class="yiyi-st" id="yiyi-78"><a class="reference internal" href="tkinter.tix.html#using-tix">25.3.1.使用Tix</a></span></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-87"><a class="reference internal" href="tkinter.tix.html#tix-widgets">25.3.2. Tix Widgets</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-79"><a class="reference internal" href="tkinter.tix.html#basic-widgets">25.3.2.1.基本小部件</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-80"><a class="reference internal" href="tkinter.tix.html#file-selectors">25.3.2.2.文件选择器</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-81"><a class="reference internal" href="tkinter.tix.html#hierarchical-listbox">25.3.2.3. Hierarchical ListBox</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-82"><a class="reference internal" href="tkinter.tix.html#tabular-listbox">25.3.2.4.表格列表框</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-83"><a class="reference internal" href="tkinter.tix.html#manager-widgets">25.3.2.5.经理小部件</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-84"><a class="reference internal" href="tkinter.tix.html#image-types">25.3.2.6.图像类型</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-85"><a class="reference internal" href="tkinter.tix.html#miscellaneous-widgets">25.3.2.7.杂项小部件</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-86"><a class="reference internal" href="tkinter.tix.html#form-geometry-manager">25.3.2.8.表单几何管理器</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-88"><a class="reference internal" href="tkinter.tix.html#tix-commands">25.3.3. Tix命令</a></span></li></ul></li><li class="toctree-l1"><span class="yiyi-st" id="yiyi-90"><a class="reference internal" href="tkinter.scrolledtext.html">25.4. <code class="docutils literal"><span class="pre">tkinter.scrolledtext</span></code> - 滚动文字小部件</a></span></li><li class="toctree-l1"><span class="yiyi-st" id="yiyi-116"><a class="reference internal" href="idle.html">25.5. IDLE</a></span><ul><li class="toctree-l2"><span class="yiyi-st" id="yiyi-101"><a class="reference internal" href="idle.html#menus">25.5.1.菜单</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-91"><a class="reference internal" href="idle.html#file-menu-shell-and-editor">25.5.1.1.文件菜单(Shell和编辑器)</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-92"><a class="reference internal" href="idle.html#edit-menu-shell-and-editor">25.5.1.2编辑菜单(Shell和编辑器)</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-93"><a class="reference internal" href="idle.html#format-menu-editor-window-only">25.5.1.3.格式菜单(仅限编辑器窗口)</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-94"><a class="reference internal" href="idle.html#run-menu-editor-window-only">25.5.1.4.运行菜单(仅限编辑器窗口)</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-95"><a class="reference internal" href="idle.html#shell-menu-shell-window-only">25.5.1.5. Shell菜单(仅限Shell窗口)</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-96"><a class="reference internal" href="idle.html#debug-menu-shell-window-only">25.5.1.6.调试菜单(仅限Shell窗口)</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-97"><a class="reference internal" href="idle.html#options-menu-shell-and-editor">25.5.1.7.选项菜单(Shell和编辑器)</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-98"><a class="reference internal" href="idle.html#window-menu-shell-and-editor">25.5.1.8.窗口菜单(Shell和编辑器)</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-99"><a class="reference internal" href="idle.html#help-menu-shell-and-editor">25.5.1.9.帮助菜单(Shell和编辑器)</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-100"><a class="reference internal" href="idle.html#context-menus">25.5.1.10.上下文菜单</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-107"><a class="reference internal" href="idle.html#editing-and-navigation">25.5.2.编辑和导航</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-102"><a class="reference internal" href="idle.html#automatic-indentation">25.5.2.1.自动缩进</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-103"><a class="reference internal" href="idle.html#completions">25.5.2.2.完成</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-104"><a class="reference internal" href="idle.html#calltips">25.5.2.3. Calltips</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-105"><a class="reference internal" href="idle.html#python-shell-window">25.5.2.4. Python Shell窗口</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-106"><a class="reference internal" href="idle.html#text-colors">25.5.2.5.文字颜色</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-111"><a class="reference internal" href="idle.html#startup-and-code-execution">25.5.3.启动和代码执行</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-108"><a class="reference internal" href="idle.html#command-line-usage">25.5.3.1.命令行用法</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-109"><a class="reference internal" href="idle.html#idle-console-differences">25.5.3.2. IDLE控制台差异</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-110"><a class="reference internal" href="idle.html#running-without-a-subprocess">25.5.3.3.没有子过程的运行</a></span></li></ul></li><li class="toctree-l2"><span class="yiyi-st" id="yiyi-115"><a class="reference internal" href="idle.html#help-and-preferences">25.5.4.帮助和偏好</a></span><ul><li class="toctree-l3"><span class="yiyi-st" id="yiyi-112"><a class="reference internal" href="idle.html#additional-help-sources">25.5.4.1.其他帮助来源</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-113"><a class="reference internal" href="idle.html#setting-preferences">25.5.4.2.设置首选项</a></span></li><li class="toctree-l3"><span class="yiyi-st" id="yiyi-114"><a class="reference internal" href="idle.html#extensions">25.5.4.3.扩展</a></span></li></ul></li></ul></li><li class="toctree-l1"><span class="yiyi-st" id="yiyi-117"><a class="reference internal" href="othergui.html">25.6.其他图形用户界面包</a></span></li></ul></div></div></div> |