# 以 Tk 打造圖形使用者介面 (Graphical User Interfaces)

Tk/Tcl 長期以來一直是 Python 不可或缺的一部分。它提供了一個強大且獨立於平台的視窗工具包，可供使用 `tkinter` 套件及其擴充套件 `tkinter.tix` 和 `tkinter.ttk` 模組的 Python 開發者使用。

`tkinter` 套件是 Tcl/Tk 之上的一個輕薄物件導向層。要使用 `tkinter`，你不需要編寫 Tcl 程式，但會需要查閱 Tk 文件和部份 Tcl 文件。`tkinter` 是一組將 Tk 小工具 (widget) 實作為 Python 類別的包裝器。

`tkinter` 的主要優點是速度快，而且通常與 Python 捆綁 (bundle) 在一起。儘管其標準文件不是很完整，但還是有些不錯的材料，包括：參考資料、教學、書籍等。`tkinter` 曾因其過時的外觀而眾所皆知，但這在 Tk 8.5 中得到了極大的改進。此外，還有許多其他你可能會感興趣的 GUI 函式庫。Python wiki 列出了幾個替代的 GUI 框架和工具。

- `tkinter` —— Tcl/Tk 的 Python 接口
  - 架构
  - Tkinter 模块
  - Tkinter 拾遗
    - Hello World 程序
    - 重要的 Tk 概念
    - 了解 Tkinter 如何封装 Tcl/Tk
    - 我该如何...？这个选项会做...？
    - 浏览 Tcl/Tk 参考手册
  - 线程模型
  - 快速参考
    - 可选配置项
    - 包装器
    - 包装器的参数
    - 部件与变量的关联
    - 窗口管理器
    - Tk 参数的数据类型
    - 绑定和事件
    - index 参数
    - 图片
  - 文件处理程序
- `tkinter.colorchooser` --- 颜色选择对话框
- `tkinter.font` --- Tkinter 字体封装
- Tkinter 对话框
  - `tkinter.simpledialog` --- 标准 Tkinter 输入对话框
  - `tkinter.filedialog` --- 文件选择对话框.
    - 原生的载入/保存对话框.
  - `tkinter.commondialog` --- 对话窗口模板
- `tkinter.messagebox` --- Tkinter 消息提示
- `tkinter.scrolledtext` --- 滚动文字控件
- `tkinter.dnd` --- 拖放操作支持
- `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 指令
- IDLE
  - 目錄
    - 文件菜单 （命令行和编辑器）
    - 编辑菜单（命令行和编辑器）
    - 格式菜单（仅 window 编辑器）
    - 运行菜单（仅 window 编辑器）
    - Shell 菜单（仅限 Shell 窗口）
    - 调试菜单（仅限 Shell 窗口）
    - 选项菜单（命令行和编辑器）
    - Window 菜单（命令行和编辑器）
    - 帮助菜单（命令行和编辑器）
    - 上下文菜单
  - 编辑和导航
    - 编辑窗口
    - 按键绑定
    - 自动缩进
    - 搜索和替换
    - 补全
    - 提示
    - 代码上下文
    - Shell 窗口
    - 文本颜色
  - 启动和代码执行
    - 命令行语法
    - 启动失败
    - 运行用户代码
    - Shell中的用户输出
    - 开发 tkinter 应用程序
    - 在没有子进程的情况下运行
  - 帮助和首选项Help and Preferences
    - 帮助源
    - 首选项设置
    - macOS 上的IDLE
    - 扩展
  - idlelib