以 Tk 打造 GUI
**************

Tcl/Tk集成到Python中已经有一些年头了。Python程序员可以通过 "tkinter"
包和它的扩展， "tkinter.tix" 模块和 "tkinter.ttk" 模块，来使用这套鲁棒
的、平台无关的窗口工具集。

"tkinter" 包使用面向对象的方式对Tcl/Tk进行了一层薄包装。使用 "tkinter"
，你不需要写Tcl代码，但可能需要参考Tk文档，甚至Tcl文档。 "tkinter" 使
用Python类，对Tk的窗体小部件（Widgets）进行了一系列的封装。除此之外，
内部模块 "_tkinter" 针对Python和Tcl之间的交互，提供了一套线程安全的机
制。

"tkinter" 最大的优点就一个字：快，再一个，是Python自带的。尽管官方文档
不太完整，但有其他资源可以参考，比如Tk手册，教程等。 "tkinter" 也以比
较过时的外观为人所知，但在Tk 8.5中，这一点得到了极大的改观。除此之外，
如果有兴趣，还有其他的一些GUI库可供使用。更多信息，请参考 其它的 GUI
小节。

* "tkinter" --- Tcl/Tk的Python接口

  * Tkinter 模块

  * Tkinter 拾遗

    * 本节内容的用法

    * 简单的 Hello World 程序

  * Tcl/Tk 速览

  * 将简单的 Tk 映射到 Tkinter

  * Tk 和 Tkinter 如何关联

  * 快速参考

    * 可选配置项

    * 包装器

    * 包装器的参数

    * 部件与变量的关联

    * 窗口管理器

    * Tk 参数的数据类型

    * 绑定和事件

    * index 参数

    * 图片

  * 文件句柄

* "tkinter.ttk" --- Tk 风格的控件

  * ttk 的用法

  * ttk 控件

  * 控件

    * 标准属性

    * 可滚动控件的属性

    * 标签控件的属性

    * 兼容性属性

    * 控件状态

    * ttk.Widget

  * Combobox

    * 属性

    * 虚拟事件

    * ttk.Combobox

  * Spinbox

    * 属性

    * 虚拟事件

    * ttk.Spinbox

  * Notebook

    * 属性

    * Tab 属性

    * Tab ID

    * 虚拟事件

    * ttk.Notebook

  * Progressbar

    * 属性

    * ttk.Progressbar

  * Separator

    * 属性

  * Sizegrip

    * 与平台相关的注意事项

    * Bug

  * Treeview

    * 属性

    * 数据项的属性

    * tag 属性

    * 列标识

    * 虚拟事件

    * ttk.Treeview

  * Ttk 样式

    * 布局

* "tkinter.tix" --- TK扩展包

  * 使用 Tix

  * Tix 部件

    * 基本部件

    * 文件选择器

    * 层级式列表框

    * 表格式列表框

    * 管理器部件

    * 图像类型

    * 其他部件

    * 表单布局管理器

  * Tix 命令

* "tkinter.scrolledtext" --- 滚动文字控件

* IDLE

  * 目录

    * 文件菜单 （命令行和编辑器）

    * 编辑菜单（命令行和编辑器）

    * 格式菜单（仅 window 编辑器）

    * 运行菜单（仅 window 编辑器）

    * Shell 菜单（仅 window 编辑器）

    * 调试菜单（仅 window 编辑器）

    * 选项菜单（命令行和编辑器）

    * Window 菜单（命令行和编辑器）

    * 帮助菜单（命令行和编辑器）

    * 上下文菜单

  * 编辑和导航

    * 编辑窗口

    * 按键绑定

    * 自动缩进

    * 完成

    * 提示

    * 代码上下文

    * Python Shell 窗口

    * 文本颜色

  * 启动和代码执行

    * 命令行语法

    * 启动失败

    * 运行用户代码

    * Shell中的用户输出

    * 开发 tkinter 应用程序

    * 在没有子进程的情况下运行

  * 帮助和偏好

    * 帮助源

    * 首选项设置

    * macOS 上的IDLE

    * 扩展

* 其它的 GUI
