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

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

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

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

* 24.1. "Tkinter" --- Tcl/Tk への Python インタフェース

  * 24.1.1. Tkinter モジュール

  * 24.1.2. Tkinter お助け手帳

    * 24.1.2.1. この節の使い方

    * 24.1.2.2. 簡単な Hello World プログラム

  * 24.1.3. Tcl/Tk を (本当に少しだけ) 見渡してみる

  * 24.1.4. 基本的な Tk プログラムと Tkinter との対応関係

  * 24.1.5. Tk と Tkinter はどのように関わっているのか

  * 24.1.6. 簡単なリファレンス

    * 24.1.6.1. オプションの設定

    * 24.1.6.2. Packer

    * 24.1.6.3. Packer のオプション

    * 24.1.6.4. ウィジェット変数を関連付ける

    * 24.1.6.5. ウィンドウマネージャ

    * 24.1.6.6. Tk オプションデータ型

    * 24.1.6.7. バインドとイベント

    * 24.1.6.8. index パラメータ

    * 24.1.6.9. 画像

  * 24.1.7. ファイルハンドラ

* 24.2. "ttk" --- Tk のテーマ付きウィジェット

  * 24.2.1. Ttk を使う

  * 24.2.2. Ttk ウィジェット

  * 24.2.3. ウィジェット

    * 24.2.3.1. 標準オプション

    * 24.2.3.2. スクロール可能ウィジェットのオプション

    * 24.2.3.3. ラベルオプション

    * 24.2.3.4. 互換性オプション

    * 24.2.3.5. ウィジェットの状態

    * 24.2.3.6. ttk.Widget

  * 24.2.4. コンボボックス

    * 24.2.4.1. オプション

    * 24.2.4.2. 仮想イベント

    * 24.2.4.3. ttk.Combobox

  * 24.2.5. ノートブック

    * 24.2.5.1. オプション

    * 24.2.5.2. タブオプション

    * 24.2.5.3. タブ識別子

    * 24.2.5.4. 仮想イベント

    * 24.2.5.5. ttk.Notebook

  * 24.2.6. プログレスバー

    * 24.2.6.1. オプション

    * 24.2.6.2. ttk.Progressbar

  * 24.2.7. セパレータ

    * 24.2.7.1. オプション

  * 24.2.8. サイズグリップ

    * 24.2.8.1. プラットフォーム固有のメモ

    * 24.2.8.2. バグ

  * 24.2.9. ツリービュー

    * 24.2.9.1. オプション

    * 24.2.9.2. 要素オプション

    * 24.2.9.3. タグオプション

    * 24.2.9.4. カラム識別子

    * 24.2.9.5. 仮想イベント

    * 24.2.9.6. ttk.Treeview

  * 24.2.10. Ttk スタイル

    * 24.2.10.1. レイアウト

* 24.3. "Tix" --- Tkの拡張ウィジェット

  * 24.3.1. Tixを使う

  * 24.3.2. Tixウィジェット

    * 24.3.2.1. 基本ウィジェット

    * 24.3.2.2. ファイルセレクタ

    * 24.3.2.3. ハイアラキカルリストボックス

    * 24.3.2.4. タビュラーリストボックス

    * 24.3.2.5. 管理ウィジェット

    * 24.3.2.6. 画像タイプ

    * 24.3.2.7. その他のウィジェット

    * 24.3.2.8. ジオメトリマネジャを作る

  * 24.3.3. Tixコマンド

* 24.4. "ScrolledText" --- スクロールするテキストウィジェット

* 24.5. "turtle" --- Tkのためのタートルグラフィックス

  * 24.5.1. はじめに

  * 24.5.2. Turtle および Screen のメソッド概観

    * 24.5.2.1. Turtle のメソッド

    * 24.5.2.2. TurtleScreen/Screen のメソッド

  * 24.5.3. RawTurtle/Turtle のメソッドと対応する関数

    * 24.5.3.1. Turtle の動き

    * 24.5.3.2. Turtle の状態を知る

    * 24.5.3.3. 設定と計測

    * 24.5.3.4. Pen の制御

      * 24.5.3.4.1. 描画状態

      * 24.5.3.4.2. 色の制御

      * 24.5.3.4.3. 塗りつぶし

      * 24.5.3.4.4. さらなる描画の制御

    * 24.5.3.5. タートルの状態

      * 24.5.3.5.1. 可視性

      * 24.5.3.5.2. 見た目

    * 24.5.3.6. イベントを利用する

    * 24.5.3.7. 特別な Turtle のメソッド

    * 24.5.3.8. 合成形の使用に関する補遺

  * 24.5.4. TurtleScreen/Screen のメソッドと対応する関数

    * 24.5.4.1. ウィンドウの制御

    * 24.5.4.2. アニメーションの制御

    * 24.5.4.3. スクリーンイベントを利用する

    * 24.5.4.4. 設定と特殊なメソッド

    * 24.5.4.5. Screen 独自のメソッド、TurtleScreen から継承したもの
      以 外

  * 24.5.5. "turtle" モジュールのパブリッククラス

  * 24.5.6. ヘルプと設定

    * 24.5.6.1. ヘルプの使い方

    * 24.5.6.2. ドキュメント文字列の翻訳

    * 24.5.6.3. Screen および Turtle の設定方法

  * 24.5.7. デモスクリプト

* 24.6. IDLE

  * 24.6.1. メニュー

    * 24.6.1.1. File メニュー (Shell ウィンドウ、Editor ウィンドウ)

    * 24.6.1.2. Edit メニュー (Shell ウィンドウ、Editor ウィンドウ)

    * 24.6.1.3. Format メニュー (Shell ウィンドウ、Editor ウィンドウ
      )

    * 24.6.1.4. Run メニュー (Editor ウィンドウのみ)

    * 24.6.1.5. Shell メニュー (Shell ウィンドウのみ)

    * 24.6.1.6. Debug メニュー (Shell ウィンドウのみ)

    * 24.6.1.7. Options メニュー (Shell ウィンドウ、Editor ウィンド
      ウ)

    * 24.6.1.8. Window メニュー (Shell ウィンドウ、Editor ウィンドウ
      )

    * 24.6.1.9. Help メニュー (Shell ウィンドウ、Editor ウィンドウ)

    * 24.6.1.10. コンテキストメニュー

  * 24.6.2. 編集とナビゲーション

    * 24.6.2.1. 自動的な字下げ

    * 24.6.2.2. 補完 (Completions)

    * 24.6.2.3. 呼び出しヒント (Calltips)

    * 24.6.2.4. Python Shell ウィンドウ

    * 24.6.2.5. テキストの色

  * 24.6.3. スタートアップとコードの実行

    * 24.6.3.1. コマンドラインの使い方

    * 24.6.3.2. IDLE とコンソールの違い

    * 24.6.3.3. サブプロセスを起こさずに起動する

  * 24.6.4. ヘルプとお好み設定

    * 24.6.4.1. Additional help sources [ヘルプ参照先の追加]

    * 24.6.4.2. Setting preferences [お好み設定]

    * 24.6.4.3. Extensions [拡張]

* 24.7. 他のグラフィカルユーザインタフェースパッケージ
