###
16.1.6.1 オプションの設定

オプションは、色やウィジェットの境界線幅などを制御します。 オプションの設定には三通りの方法があります:

オブジェクトを作成する時にキーワード引数を使う
  :

      fred = Button(self, fg = "red", bg = "blue")

オブジェクトを作成した後、オプション名を辞書インデックスのように扱う
  :

      fred["fg"] = "red"
      fred["bg"] = "blue"

オブジェクトを生成した後、config()メソッドを使って複数の属性を更新する
  :

      fred.config(fg = "red", bg = "blue")

オプションとその振る舞いに関する詳細な説明は、該当するウィジェットの Tk の man マニュアルを参照してください。

man マニュアルには、各ウィジェットの "STANDARD OPTIONS(標準オプション)" と "WIDGET SPECIFIC OPTIONS (ウィジェット固有のオプション)" がリストされていることに注意しましょう。 前者は多くのウィジェットに共通のオプションのリストで、 後者は特定のウィジェットに特有のオプションです。標準オプションの 説明は man マニュアルのoptions(3) にあります。

このドキュメントでは、標準オプションとウィジェット固有のオプションを 区別していません。オプションによっては、ある種のウィジェットに 適用できません。あるウィジェットがあるオプションに対応しているか どうかは、ウィジェットのクラスによります。例えばボタンには `command` オプションがありますが、ラベルにはありません。

あるウィジェットがどんなオプションをサポートしているかは、ウィジェット の man マニュアルにリストされています。また、実行時にウィジェットの `config()` メソッドを引数なしで呼び出したり、`keys()` メソッドを呼び出したりして問い合わせることもできます。 メソッド呼び出しを行うと辞書型の値を返します。この辞書は、オプション の名前がキー (例えば `'relief'`) になっていて、値が 5 要素のタプルになっています。

`bg` のように、いくつかのオプションはより長い名前を持つ共通の オプションに対する同義語になっています (`bg`は "background" を 短縮したものです)。短縮形のオプション名を `config()` に渡すと、 5 要素ではなく 2 要素のタプルを返します。このタプルには、同義語の 名前と 「本当の」オプション名が入っています (例えば `('bg', 'background')`)。

インデックス | 意味 | 例
--- | --- | ---
0 | オプション名 | `'relief'`
1 | データベース検索用のオプション名 | `'relief'`
2 | データベース検索用のオプションクラス | `'Relief'`
3 | デフォルト値 | `'raised'`
4 | 現在の値 | `'groove'`

例:

    >>> print fred.config()
    {'relief' : ('relief', 'relief', 'Relief', 'raised', 'groove')}

もちろん、実際に出力される辞書には利用可能なオプションが全て 表示されます。上の表示例は単なる例にすぎません。