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

Tk/Tcl has long been an integral part of Python. It provides a robust and platform independent windowing toolkit, that is available to Python programmers using the `tkinter` package, and its extension, the `tkinter.tix` and the `tkinter.ttk` modules.

`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` --- Python interface to Tcl/Tk
  - Architecture
  - Tkinter モジュール
  - Tkinter お助け手帳
    - A Hello World Program
    - Important Tk Concepts
    - Understanding How Tkinter Wraps Tcl/Tk
    - How do I...? What option does...?
    - Navigating the Tcl/Tk Reference Manual
  - Threading model
  - 簡単なリファレンス
    - オプションの設定
    - Packer
    - Packer のオプション
    - ウィジェット変数を関連付ける
    - ウィンドウマネージャ
    - Tk オプションデータ型
    - バインドとイベント
    - index パラメータ
    - 画像
  - ファイルハンドラ
- `tkinter.colorchooser` --- Color choosing dialog
- `tkinter.font` --- Tkinter font wrapper
- Tkinter ダイアログ
  - `tkinter.simpledialog` --- 標準 Tkinter 入力ダイアログ
  - `tkinter.filedialog` --- ファイル選択ダイアログ
    - ネイティブの読み込み/保存ダイアログ
  - `tkinter.commondialog` --- Dialog window templates
- `tkinter.messagebox` --- Tkinter message prompts
- `tkinter.scrolledtext` --- Scrolled Text Widget
- `tkinter.dnd` --- Drag and drop support
- `tkinter.ttk` --- Tk themed widgets
  - 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 ウィンドウ)
    - Context menus
  - Editing and Navigation
    - Editor windows
    - Key bindings
    - 自動的な字下げ
    - 検索と置換
    - 補完 (Completions)
    - 呼び出しヒント (Calltips)
    - Code Context
    - Shell window
    - テキストの色
  - Startup and Code Execution
    - コマンドラインの使い方
    - Startup failure
    - Running user code
    - User output in Shell
    - Developing tkinter applications
    - サブプロセスを起こさずに起動する
  - Help and Preferences
    - Help sources
    - Setting preferences [お好み設定]
    - IDLE on macOS
    - Extensions [拡張]
  - idlelib