# Tk を用いたグラフィカルユーザインターフェイス

Tk/Tcl は長きにわたり Python の不可欠な一部でありつづけています。Tk/Tcl は頑健でプラットホームに依存しないウィンドウ構築ツールキットであり、Python プログラマは `tkinter` パッケージやその拡張の `tkinter.tix` および `tkinter.ttk` モジュールを使って利用できます。

`tkinter` パッケージはオブジェクトの薄い層で作ったTcl/Tkの最上層です。`tkinter` を使うには、Tcl のコードを書く必要はありませんが、Tk のドキュメント、またはときどき、Tcl のドキュメントを調べる 必要が出て来ます。`tkinter` は Python クラスとして実装した Tk ウィジェットのラッパーの集合です。

`tkinter`'s chief virtues are that it is fast, and that it usually comes bundled with Python. Although its standard documentation is weak, good material is available, which includes: references, tutorials, a book and others. `tkinter` is also famous for having an outdated look and feel, which has been vastly improved in Tk 8.5. Nevertheless, there are many other GUI libraries that you could be interested in. The Python wiki lists several alternative GUI frameworks and tools.

- `tkinter` --- Tcl/Tk の Python インターフェース
  - Tkinter モジュール
  - Tkinter お助け手帳
    - この節の使い方
    - 簡単な Hello World プログラム
  - Tcl/Tk を (本当に少しだけ) 見渡してみる
  - 基本的な Tk プログラムと Tkinter との対応関係
  - Tk と Tkinter はどのように関わっているのか
  - 簡単なリファレンス
    - オプションの設定
    - Packer
    - Packer のオプション
    - ウィジェット変数を関連付ける
    - ウィンドウマネージャ
    - Tk オプションデータ型
    - バインドとイベント
    - index パラメータ
    - 画像
  - ファイルハンドラ
- `tkinter.colorchooser` --- カラー選択ダイアログ
- `tkinter.font` --- Tkinterフォントラッパー
- Tkinter ダイアログ
  - `tkinter.simpledialog` --- 標準 Tkinter 入力ダイアログ
  - `tkinter.filedialog` --- ファイル選択ダイアログ
    - ネイティブの読み込み/保存ダイアログ
  - `tkinter.commondialog` --- Dialog window templates
- `tkinter.messagebox` --- Tkinterのメッセージプロンプト
- `tkinter.scrolledtext` --- スクロールするテキストウィジェット
- `tkinter.dnd` --- Drag and drop support
- `tkinter.ttk` --- Tk のテーマ付きウィジェット
  - Ttk を使う
  - Ttk ウィジェット
  - ウィジェット
    - 標準オプション
    - スクロール可能ウィジェットのオプション
    - ラベルオプション
    - 互換性オプション
    - ウィジェットの状態
    - ttk.Widget
  - コンボボックス
    - オプション
    - 仮想イベント
    - ttk.Combobox
  - Spinbox
    - オプション
    - 仮想イベント
    - ttk.Spinbox
  - ノートブック
    - オプション
    - タブオプション
    - タブ識別子
    - 仮想イベント
    - ttk.Notebook
  - プログレスバー
    - オプション
    - ttk.Progressbar
  - セパレータ
    - オプション
  - サイズグリップ
    - プラットフォーム固有のメモ
    - バグ
  - ツリービュー
    - オプション
    - 要素オプション
    - タグオプション
    - カラム識別子
    - 仮想イベント
    - ttk.Treeview
  - Ttk スタイル
    - レイアウト
- `tkinter.tix` --- Tkの拡張ウィジェット
  - Tixを使う
  - Tixウィジェット
    - 基本ウィジェット
    - ファイルセレクタ
    - 階層的リストボックス
    - 表的リストボックス
    - 管理ウィジェット
    - 画像タイプ
    - その他のウィジェット
    - ジオメトリマネジャを作る
  - Tixコマンド
- IDLE
  - メニュー
    - File メニュー (Shell ウィンドウ、Editor ウィンドウ)
    - Edit メニュー (Shell ウィンドウ、Editor ウィンドウ)
    - Format メニュー (Shell ウィンドウ、Editor ウィンドウ)
    - Run メニュー (Editor ウィンドウのみ)
    - Shell メニュー (Shell ウィンドウのみ)
    - Debug メニュー (Shell ウィンドウのみ)
    - Options メニュー (Shell ウィンドウ、Editor ウィンドウ)
    - Window メニュー (Shell ウィンドウ、Editor ウィンドウ)
    - Help メニュー (Shell ウィンドウ、Editor ウィンドウ)
    - コンテキストメニュー
  - 編集とナビゲーション
    - Editor windows
    - Key bindings
    - 自動的な字下げ
    - 補完 (Completions)
    - 呼び出しヒント (Calltips)
    - Code Context
    - Python Shell ウィンドウ
    - テキストの色
  - スタートアップとコードの実行
    - コマンドラインの使い方
    - Startup failure
    - Running user code
    - User output in Shell
    - Developing tkinter applications
    - サブプロセスを起こさずに起動する
  - ヘルプとお好み設定
    - Help sources
    - Setting preferences [お好み設定]
    - IDLE on macOS
    - Extensions [拡張]