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

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

`tkinter` パッケージは Tcl/Tk 上に作られた軽量なオブジェクト指向のレイヤです。 `tkinter` を使うために Tcl コードを書く必要はありませんが、Tk のドキュメントや、場合によっては Tcl のドキュメントを調べる必要があるでしょう。`tkinter` は Tk のウィジェットを Python のクラスとして実装しているラッパをまとめたものです。加えて、内部モジュール `_tkinter` は、Python と Tcl とがやり取りできるスレッドセーフなメカニズムを提供しています。

`tkinter` の一番素晴らしい点は、速く、そしてほとんどの Python に付属していることです。標準ドキュメントが頼りないものだとしても、代わりとなる、リファレンス、チュートリアル、書籍その他が入手可能です。`tkinter` は古臭いルックアンドフィールでも有名ですが、その点は Tk 8.5 で大きく改善されました。とはいえ、他にも興味を引きそうな GUI ライブラリは多数あります。それらについてのより詳しい情報は 他のグラフィカルユーザインタフェースパッケージ 節を参照してください。

- `tkinter` --- Tcl/Tk の Python インタフェース
  - Tkinter モジュール
  - Tkinter お助け手帳
    - この節の使い方
    - 簡単な Hello World プログラム
  - Tcl/Tk を (本当に少しだけ) 見渡してみる
  - 基本的な Tk プログラムと Tkinter との対応関係
  - Tk と Tkinter はどのように関わっているのか
  - 簡単なリファレンス
    - オプションの設定
    - Packer
    - Packer のオプション
    - ウィジェット変数を関連付ける
    - ウィンドウマネージャ
    - Tk オプションデータ型
    - バインドとイベント
    - index パラメータ
    - 画像
  - ファイルハンドラ
- `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コマンド
- `tkinter.scrolledtext` --- スクロールするテキストウィジェット
- 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 [拡張]
- 他のグラフィカルユーザインタフェースパッケージ