###
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(ウィジェット固有のオプション)"が記載されていることに注意してください。前者は多くのウィジェットに共通のオプションのリストで、後者は特定のウィジェットに特有のオプションです。Standard Optionsはoptions(3) manページに記述されます。

このドキュメントでは標準とウィジェット特有のオプションを区別しません。あるオプションはある種のウィジェットに適用できません。任意のウィジェットが特定のオプションに応答するかどうかは、ウィジェットのクラスに依存します。ボタンは`command`オプションを持っていますが、ラベルは持っていません。

任意のウィジェットによってサポートされるオプションは、ウィジェットのmanページに記載されています。または、`config()`メソッドを引数なしで呼び出すか、ウィジェットの`keys()`メソッドを呼び出すことで実行時に調べことができます。これらの呼び出しの戻り値は、キーがオプションの名前の文字列(例えば、`'relief'`)で、値が5-タプルである辞書です。

`bg`のようないくつかのオプションは長い名前を持つ共通オプションに対する同義語です(`bg`は"background"を短縮したものです)。`config()`メソッドに省略オプション名を渡すと、5-タプルではなく2-タプルが返されます。返された2-タプルには、同義語の名前と``本物の''オプション(例えば、`('bg', 'background')`)が含まれています。

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

例:

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

もちろん、表示された辞書はすべての利用可能なオプションと値を含んでいます。これは例としての意味しかありません。