tkinter.ttk --- Tk のテーマ付きウィジェット¶
ソースコード: Lib/tkinter/ttk.py
tkinter.ttk モジュールは、Tk 8.5 で導入されたテーマ付きウィジェット群を提供します。
外観が固定されている従来の tkinter ウィジェットと異なり、プラットフォームのネイティブなテーマに外観を合わせるため、アプリケーションの見た目と操作感がよりよく、統一されたものになります。
tkinter.ttk の基本的な考え方は、ウィジェットの動作を実装するコードと、外観を実装するコードをできるだけ分離することです。
Ttk ウィジェットは従来の tkinter ウィジェットと同じように使え、ウィジェット階層、ジオメトリマネージャー、変数の連動、イベントバインディングの仕組みも共通です。
これらの基礎的な概念は tkinter のドキュメントで説明しているため、ここでは繰り返しません。
Added in version 3.1.
参考
- Tk ウィジェットのスタイル設定のサポート (TIP #48)
テーマ付きウィジェットのスタイル設定エンジンを導入した Tcl 改善提案です。
Ttk を使う¶
Ttk を使い始めるために、モジュールをインポートします:
from tkinter import ttk
基本的な Tk ウィジェットを上書きするため、次のように Tk のインポートに続けてインポートを行います:
from tkinter import *
from tkinter.ttk import *
このコードにより、Tk のウィジェットのいくつかを tkinter.ttk のウィジェット (Button、Checkbutton、Entry、Frame、Label、LabelFrame、Menubutton、OptionMenu、PanedWindow、Radiobutton、Scale、Scrollbar、Spinbox) で自動的に置き換えます。
注釈
from tkinter.ttk import * で従来のウィジェットを上書きする方法は、既存のコードを移行するのに便利です。
ただし、新しいコードでは通常、from tkinter import ttk でモジュールをインポートし、ttk.Button のようにテーマ付きウィジェットを明示的に参照する方が分かりやすくなります。
新しいウィジェットを使えば、各プラットフォームで見た目と操作感がよくなるという直接的な利点がありますが、置き換え先のウィジェットには完全な互換性はありません。
主な違いは、Ttk ウィジェットには fg や bg などのスタイルに関するオプションがないことです。
代わりに ttk.Style クラスを使って、より高度なスタイル設定を行ってください。
Ttk ウィジェット¶
Ttk には 18 種類のウィジェットがあります。
そのうち 12 種類は tkinter にもあるもので、Button、Checkbutton、Entry、Frame、Label、LabelFrame、Menubutton、PanedWindow、Radiobutton、Scale、Scrollbar、Spinbox です。
残りの 6 種類は新しいウィジェットで、Combobox、Notebook、Progressbar、Separator、Sizegrip、Treeview です。
すべて Widget のサブクラスです。
Ttk ウィジェットを使用すると、アプリケーションの見た目と使いやすさが向上します。上述の通り、書式をコーディングする方法は異なります。
Tk のコード
l1 = tkinter.Label(text="Test", fg="black", bg="white")
l2 = tkinter.Label(text="Test", fg="black", bg="white")
Ttk のコード:
style = ttk.Style()
style.configure("BW.TLabel", foreground="black", background="white")
l1 = ttk.Label(text="Test", style="BW.TLabel")
l2 = ttk.Label(text="Test", style="BW.TLabel")
TtkStyling についての詳細は Style クラスの文書を読んでください。
ウィジェット¶
ttk.Widget は、Tk のテーマ付きウィジェットがサポートする標準のオプションとメソッドを定義します。
直接インスタンス化するものではありません。
標準オプション¶
すべての ttk ウィジェットは次のオプションを受け付けます:
オプション |
説明 |
|---|---|
|
ウィンドウクラスを指定します。このクラスはオプションデータベースにウィンドウの他のオプションについて問い合わせを行うときに使われ、これによりウィンドウのデフォルトのバインドタグを決定したり、ウィジェットのデフォルトのレイアウトやスタイルを選択します。このオプションは読み出し専用で、ウィンドウが作成されるときにのみ指定できます。 |
cursor |
ウィジェットで使うマウスカーソルを指定します。 Tk オプションのデータ型 の cursor オプション型を参照してください。 空文字列 (デフォルト) に設定すると、親ウィジェットのカーソルを継承します。 |
takefocus |
キーボードによる移動のときにウィンドウがフォーカスを受け入れるかを決定します。0、1、空文字列のいずれかを返します。0 が返されると、キーボードによる移動でそのウィンドウは常にスキップされます。1 なら、そのウィンドウが表示されているときに限り入力フォーカスを受け入れます。そして空文字列は、移動スクリプトによってウィンドウにフォーカスを当てるかどうかが決まることを意味します。 |
style |
独自のウィジェットスタイルを指定するのに使われます。 |
スクロール可能なウィジェットのオプション¶
以下のオプションはスクロールバーで操作されるウィジェットが持っているオプションです。
オプション |
説明 |
|---|---|
xscrollcommand |
水平方向のスクロールバーとのやり取りに使われます。 ウィジェットのウィンドウ内の表示範囲が変わると、xscrollcommand コールバックを呼び出します。 通常は、スクロールバーの |
yscrollcommand |
垂直方向のスクロールバーとのやり取りに使われます。詳しくは、上記を参照してください。 |
ラベルのオプション¶
以下のオプションはラベルやボタンやボタンに類似したウィジェットが持っているオプションです。
オプション |
説明 |
|---|---|
text |
ウィジェットに表示される文字列を指定します。 |
textvariable |
text オプションの代わりに使う値の変数名を指定します。 |
underline |
このオプションを設定すると、文字列の中で下線を引く文字のインデックス (0 基点) を指定します。下線が引かれた文字はショートカットとして使われます。 |
image |
表示する画像を指定します。これは 1 つ以上の要素を持つリストです。先頭の要素はデフォルトの画像名です。残りの要素は |
compound |
text オプションと image オプションが両方とも指定されていた場合に、テキストに対して画像をどう配置するかを指定します。適当な値は:
|
|
0 より大きい場合、テキストラベルを作成するのにどれくらいのスペースを使うかを文字の幅で指定します。0 より小さい場合、最小の幅が指定されます。0 もしくは無指定の場合、テキストラベルに対して自然な幅が使われます。 |
互換性のためのオプション¶
オプション |
説明 |
|---|---|
state |
"normal" か "disabled" に設定され、 "disabled" 状態のビットをコントロールします。これは書き込み専用のオプションです: これを設定するとウィジェットの状態を変更できますが、 |
ウィジェットの状態¶
ウィジェットの状態は独立した状態フラグのビットマップです。
Flag |
説明 |
|---|---|
active |
マウスカーソルがウィジェットの上にあり、マウスのボタンをクリックすることで何らかの動作をさせられます |
disabled |
プログラムによってウィジェットは無効化されています |
focus |
ウィジェットにキーボードフォーカスがあります |
pressed |
ウィジェットは押されています |
selected |
チェックボタンやラジオボタンのようなウィジェットでの "オン" や "チェック有" や "選択中" に当たります |
background |
Windows と Mac には "アクティブな" もしくは最前面のウィンドウという概念があります。背面のウィンドウにあるウィジェットには background 状態が設定され、最前面のウィンドウにあるウィジェットでは解除されます |
readonly |
ウィジェットはユーザからの変更を受け付けません |
alternate |
ウィジェット特有の切り替え表示になっています |
invalid |
ウィジェットの値が不正です |
状態仕様は状態名の並びになっていて、状態名の先頭にはビットがオフになっていることを示す感嘆符が付くことがあります。
ttk.Widget¶
以下のメソッドに加え、ttk.Widget は tkinter.Widget.cget と tkinter.Widget.configure もサポートします。
- class tkinter.ttk.Widget¶
- identify(x, y)¶
x y の位置にある要素の名前、もしくはその位置に要素が無ければ空文字列を返します。
x と y はウィジェットに対するピクセル単位の座標です。
- instate(statespec, callback=None, *args, **kw)¶
ウィジェットの状態をチェックします。コールバックが指定されていない場合、ウィジェットの状態が statespec に一致していれば
True、そうでなければFalseを返します。コールバックが指定されていて、ウィジェットの状態が statespec に一致している場合、引数に args を指定してそのコールバックを呼び出します。
- state(statespec=None)¶
ウィジェットの状態を変更したり、取得したりします。statespec が指定されている場合、それに応じてウィジェットの状態を設定し、どのフラグが変更されたかを示す新しい statespec を返します。statespec が指定されていない場合、現在の状態フラグを返します。
Wm.stateと混同しないでください。
通常 statespec はリストもしくはタプルです。
コンボボックス¶
ttk.Combobox ウィジェットは、テキストフィールドと値のポップダウンリストを組み合わせたものです。
Entry のサブクラスです。
Widget から継承した cget()、configure()、identify()、instate()、state() と、
Entry から継承した bbox()、delete()、icursor()、index()、insert()、selection*、xview* に加え、
ttk.Combobox で説明するメソッドがあります。
オプション¶
このウィジェットは以下の固有のオプションを受け付けます:
オプション |
説明 |
|---|---|
exportselection |
真偽値です。
真に設定すると、ウィジェット内の選択範囲が X の選択範囲に連動します (例えば |
justify |
ウィジェットの中でテキストをどう配置するかを指定します。 "left", "center", "right" のうちのどれか 1 つです。 |
|
ポップダウンリストの高さを行数で指定します。 |
postcommand |
コンボボックスの値を表示する直前に呼び出される、(Misc.register などで登録した) スクリプトです。どの値を表示するかについても指定できます。 |
state |
"normal"、"readonly"、"disabled" のいずれかです。 "readonly" 状態では値を直接編集できず、利用者はドロップダウンリストの値から選ぶことだけができます。 "normal" 状態ではテキストフィールドを直接編集できます。 "disabled" 状態では操作できません。 |
textvariable |
コンボボックスの値とリンクさせる変数名を指定します。その変数の値が変更されたとき、ウィジェットの値は更新されます。ウィジェットの値が更新されたときも同様です。 |
|
ドロップダウンリストに表示する値のリストを指定します。 |
|
入力ウィンドウに必要な幅をウィジェットのフォントの平均的なサイズの文字で測った、文字数を指定します。 |
注釈
Tk 9.1 で locale オプションが追加されました。
テキスト内の単語や文字の境界を判断するためのロケールを選択します (デフォルトは "C")。
仮想イベント¶
コンボボックスウィジェットは、ユーザが値のリストから1つ選んだときに仮想イベント <<ComboboxSelected>> を生成します。
ttk.Combobox¶
スピンボックス¶
ttk.Spinbox ウィジェットは、増減用の矢印を加えた ttk.Entry です。
数値や文字列値のリストに使えます。
このウィジェットは Entry のサブクラスです。
Widget から継承した cget()、configure()、identify()、instate()、state() と、
Entry から継承した bbox()、delete()、icursor()、index()、insert()、xview* に加え、
ttk.Spinbox で説明するメソッドがあります。
オプション¶
このウィジェットは以下の固有のオプションを受け付けます:
オプション |
説明 |
|---|---|
from |
浮動小数点数です。
設定すると、減少ボタンで減らせる最小値になります。
|
to |
浮動小数点数です。 設定すると、増加ボタンで増やせる最大値になります。 |
increment |
浮動小数点数です。 増減ボタンで値をどれだけ変えるかを指定します。 デフォルトは 1.0 です。 |
|
文字列または浮動小数点数のシーケンスです。 指定すると、増減ボタンは数値を増減させる代わりに、このシーケンスの項目を順に切り替えます。 |
wrap |
真偽値です。
|
format |
文字列です。 増減ボタンで設定する数値の書式を指定します。 "%W.Pf" という形式でなければなりません。 W は埋め文字を含む値の幅、P は精度で、'%' と 'f' はそのままの文字です。 |
command |
Python の呼び出し可能オブジェクトです。 増加ボタンか減少ボタンを押すたびに、引数なしで呼び出します。 |
仮想イベント¶
スピンボックスウィジェットは、利用者が <Up> を押すと <<Increment>> 仮想イベントを、<Down> を押すと <<Decrement>> 仮想イベントを生成します。
ttk.Spinbox¶
ノートブック¶
ノートブックウィジェットは複数のウィンドウを管理し、同時に 1 つのウィンドウを表示します。それぞれの子ウィンドウはタブの関連付けられていて、ユーザはそれを選択して表示されているウィンドウを切り替えます。
オプション¶
このウィジェットは以下の固有のオプションを受け付けます:
オプション |
説明 |
|---|---|
|
0 より大きな値が設定されている場合、 (内部のパディングやタブを含まない) ペイン領域に必要な高さを指定します。 それ以外の場合、全てのペインの高さの最大値が使われます。 |
padding |
ノートブックの外周に付け足す追加の領域の量を指定します。パディングは最大 4 個の長さ指定のリストです: 左、上、右、下の順で指定します。4 個より少ない場合、デフォルトで下は上と、右は左と、上は左と同じ値が、それぞれ使われます。 |
|
0 より大きな値が指定されている場合、(内部のパディングを含まない) ペイン領域に必要な幅を指定します。 それ以外の場合、全てのペインの幅の最大値が使われます。 |
タブのオプション¶
タブ用のオプションもあります:
オプション |
説明 |
|---|---|
state |
"normal", "disabled", "hidden" のうちどれか 1 つです。 "disabled" の場合、タブは選択することができません。 "hidden" の場合、タブは表示されません。 |
sticky |
|
padding |
ノートブックとこのペインの間に付け足す追加の領域の量を指定します。文法はこのウィジェットの padding オプションと同じです。 |
text |
タブに表示するテキストを指定します。 |
image |
タブに表示する画像を指定します。 |
compound |
text オプションと image オプションが両方指定されているときにテキストに対して画像をどう表示するかを指定します。指定する値については Label Options を参照してください。 |
underline |
テキスト中の下線を引く文字のインデックス (0 基点) を指定します。 |
タブの識別子¶
ttk.Notebook のいくつかのメソッドにある tab_id は、次のいずれかの形式を取ります:
0 からタブの数の間の整数
子ウィンドウの名前
タブを指し示す "@x,y" という形式の位置指定
現在選択されているタブを指し示すリテラル文字列 "current"
タブ数を返すリテラル文字列 "end" (
Notebook.index()でのみ有効)
仮想イベント¶
このウィジェットは新しいタブが選択された後に仮想イベント <<NotebookTabChanged>> を生成します。
ttk.Notebook¶
- class tkinter.ttk.Notebook¶
- add(child, **kw)¶
ノートブックに新しいタブを追加します。
ウィンドウが現在ノートブックによって管理されているが隠れている場合、以前の位置に復元します。
利用可能なオプションのリストについては Tab Options を参照してください。
- forget(tab_id)¶
tab_id で指定されたタブを削除します。関連付けられていたウィンドウは切り離され、管理対象でなくなります。
このメソッドは、継承したジオメトリマネージャーの
forget()を隠します。 ウィジェット自体をマネージャーの管理対象から外すには、pack_forget()、grid_forget()、place_forget()を使ってください。
- hide(tab_id)¶
tab_id で指定されたタブを隠します。
タブは表示されませんが、関連付いているウィンドウはノートブックによって保持されていて、その設定も記憶されています。隠れたタブは
add()コマンドで復元できます。
- identify(x, y)¶
位置 x、y にあるタブの構成要素の名前を返します。 構成要素がなければ空文字列を返します。
- index(tab_id)¶
tab_id で指定されたタブのインデックスを、 tab_id が文字列の "end" だった場合はタブの総数を返します。
- insert(pos, child, **kw)¶
指定された位置にペインを挿入します。
pos は文字列の "end" か整数のインデックスか管理されている子ウィンドウの名前です。 child が既にノートブックの管理対象だった場合、指定された場所に移動させます。
利用可能なオプションのリストについては Tab Options を参照してください。
- select(tab_id=None)¶
指定された tab_id を選択します。
関連付いている子ウィンドウは表示され、直前に選択されていたウィンドウは (もし異なれば) 表示されなくなります。 tab_id が指定されていない場合は、現在選択されているペインのウィジェット名を返します。
- tab(tab_id, option=None, **kw)¶
指定された tab_id のオプションを問い合わせたり、変更したりします。
kw が与えられなかった場合、タブのオプション値の辞書を返します。 option が指定されていた場合、その option の値を返します。それ以外の場合は、オプションに対応する値が設定されます。
- tabs()¶
ノートブックが管理するウィンドウのタプルを返します。
- enable_traversal()¶
このノートブックを含む最上位にあるウィンドウでのキーボード移動を可能にします。
これによりノートブックを含んだ最上位にあるウィンドウに対し、以下のキーバインディングが追加されます:
Control-Tab: 現在選択されているタブの 1 つ次のタブを選択します。
Shift-Control-Tab: 現在選択されているタブの 1 つ前のタブを選択します。
Alt-K: K があるタブの (下線が引かれた) ショートカットキーだとして、そのタブを選択します。
1 つのトップレベルウィンドウ内で、入れ子のものを含め、複数のノートブックのキーボード移動を有効にできます。 ただし、すべてのペインがノートブックの直接の子である場合にだけ、ノートブックのキーボード操作が正しく動作します。
プログレスバー¶
ttk.Progressbar ウィジェットは、時間のかかる操作の状態を表示します。
2 つのモードで動作します。
1) 確定 (determinate) モードでは、全作業量に対して完了した量を表示します。
2) 不確定 (indeterminate) モードでは、アニメーションによって処理が進んでいることを利用者に知らせます。
オプション¶
このウィジェットは以下の固有のオプションを受け付けます:
オプション |
説明 |
|---|---|
orient |
"horizontal" もしくは "vertical" のいずれかです。プログレスバーの方向を指定します。 |
length |
プログレスバーの長さを指定します。 (水平方向の場合は幅、垂直方向の場合は高さです) |
mode |
"determinate" か "indeterminate" のいずれかです。 |
maximum |
最大値を数値で指定します。デフォルトは 100 です。 |
value |
プログレスバーの現在値です。 確定 ("determinate") モードでは、完了した作業量を表します。 不確定 ("indeterminate") モードでは、maximum を法とする剰余として解釈します。 つまり、値が maximum だけ増えるとプログレスバーは 1 サイクルを完了します。 |
variable |
value オプションとリンクさせる変数名です。指定されている場合、変数の値が変更されるとプログレスバーの値は自動的にその値に設定されます。 |
phase |
読み出し専用のオプションです。このウィジェットの値が 0 より大きく、かつ決定的モードでは最大値より小さいときに、ウィジェットが定期的にこのオプションの値を増加させます。このオプションは現在の画面テーマが追加のアニメーション効果を出すのに使います。 |
ttk.Progressbar¶
- class tkinter.ttk.Progressbar¶
- start(interval=None)¶
自動増加モードを開始します: interval ミリ秒ごとに
Progressbar.step()を繰り返し呼び出すタイマーイベントを設定します。引数で指定しない場合は、 interval はデフォルトで 50 ミリ秒になります。
- step(amount=None)¶
プログレスバーの値を amount だけ増加させます。
引数で指定しない場合は、 amount はデフォルトで 1.0 になります。
- stop()¶
自動増加モードを停止します: このプログレスバーの
Progressbar.start()で開始された繰り返しのタイマーイベントを全てキャンセルします。
セパレータ¶
ttk.Separator ウィジェットは、水平方向または垂直方向の区切り線を表示します。
ttk.Widget から継承するメソッド以外のメソッドはありません。
オプション¶
このウィジェットは次の特定のオプションを受け付けます。
オプション |
説明 |
|---|---|
orient |
"horizontal" か "vertical" のいずれかです。セパレータの方向を指定します。 |
サイズグリップ¶
ttk.Sizegrip ウィジェット (グローボックスとも呼びます) では、グリップを押してドラッグすることで、そのウィジェットを含むトップレベルウィンドウのサイズを変更できます。
ttk.Widget から継承するもの以外に、固有のオプションやメソッドはありません。
プラットフォーム固有のメモ¶
macOS では、最上位のウィンドウにはデフォルトで組み込みのサイズグリップが含まれています。組み込みのグリップが
Sizegripを隠してしまうので、Sizegripを追加しても問題ありません。
バグ¶
If the containing toplevel's position was specified relative to the right or bottom of the screen (for example, ....), the
Sizegripwidget will not resize the window.このウィジェットは "南東" 方向のサイズ変更しかサポートしていません。
ツリービュー¶
ttk.Treeview ウィジェットは、要素の階層的な集まりを表示します。
各要素は、テキストラベルと、省略可能な画像およびデータ値のリストを持ちます。
データ値はツリーラベルの後に続くカラムに表示されます。
データが表示される順序はウィジェットの displaycolumns オプションで制御されます。ツリーウィジェットはカラムヘッダを表示することもできます。カラムには数字もしくはウィジェットの columns オプションにある名前でアクセスできます。 Column Identifiers を参照してください。
それぞれの要素は一意な名前で識別されます。要素の作成時に識別子が与えられなかった場合、ウィジェットが要素の識別子を生成します。このウィジェットには {} という名前の特別なルート要素があります。ルート要素自身は表示されません; その子要素たちが階層の最上位に現れます。
それぞれの要素はタグのリストも持っていて、イベントバインディングと個別の要素を関連付け、要素の見た目を管理するのに使えます。
ツリービューウィジェットは水平方向と垂直方向のスクロールをサポートしていて、 Scrollable Widget Options に記述してあるオプションと Treeview.xview() メソッドおよび Treeview.yview() メソッドが使えます。
オプション¶
このウィジェットは以下の固有のオプションを受け付けます:
オプション |
説明 |
|---|---|
columns |
カラム数とその名前を指定するカラム識別子のリストです。 |
displaycolumns |
どのデータカラムをどの順序で表示するかを指定する、 (名前もしくは整数のインデックスの) カラム識別子のリストか、文字列 "#all" です。 |
|
表示する行数を指定します。メモ: 表示に必要な幅はカラム幅の合計から決定されます。 |
padding |
ウィジェットの内部のパディングのサイズを指定します。パディングは最大 4 個の長さ指定のリストです。 |
selectmode |
組み込みのクラスバインディングによる選択状態の管理方法を指定します。 "extended"、"browse"、"none" のいずれかです。 "extended" (デフォルト) では複数の要素を選択できます。 "browse" では一度に 1 つの要素だけを選択します。 "none" では、組み込みのバインディングは選択状態を変更しません。 このオプションの値にかかわらず、アプリケーションのコードやタグのイベントバインディングからは、選択状態を自由に設定できます。 |
show |
ツリーのどの要素を表示するかを指定する、以下にある値を 0 個以上含むリストです。
デフォルトは "tree headings" で、すべての要素を表示します。 メモ: show="tree" が指定されていない場合でも、カラム #0 は常にツリーカラムを参照します。 |
注釈
Tk 9.0 で Treeview にいくつかの機能が加わりました。
selectmode オプションに "single" と "multiple" の値を追加しました。
新しいウィジェットオプションとして、selecttype ("item" または "cell" の選択)、striped (行の縞模様)、titlecolumns / titleitems (スクロールしても固定されるカラムや行) を導入しました。
カラムには separator オプション、要素には hidden オプションが加わりました。
Tk 9.1 で rowheight と headingheight オプションを追加しました。
要素のオプション¶
以下の要素オプションは、ウィジェットの insert コマンドと item コマンドで要素に対して指定できます。
オプション |
説明 |
|---|---|
text |
アイテムに表示するテキストラベルです。 |
image |
ラベルの左に表示される Tk 画像です。 |
|
要素に関連付けられている値のリストです。 各要素の値の数は、ウィジェットの |
open |
要素の子供を表示するか隠すかを指示する |
tags |
この要素に関連付いているタグのリストです。 |
タグのオプション¶
以下のオプションはタグに対して設定できます:
オプション |
説明 |
|---|---|
foreground |
テキストの色を指定します。 |
background |
セルや要素の背景色を指定します。 |
font |
テキストを描画するときに使うフォントを指定します。 |
image |
要素の image オプションが空だった場合に使用する画像を指定します。 |
カラム識別子¶
カラム識別子は以下のいずれかの形式を取ります:
columns オプションのリストにある名前。
n 番目のデータカラムを指し示す整数 n 。
n を整数として n 番目の表示されているカラムを指し示す #n という形式の文字列。
注釈:
要素のオプション値は実際に格納されている順序とは違った順序で表示されることがあります。
show="tree" が指定されていない場合でも、カラム #0 は常にツリーカラムを指しています。
データカラムを指す数字は、要素の values オプションのリストのインデックスです; 表示カラムを指す数字は、値が表示されているツリーのカラム番号です。ツリーラベルはカラム #0 に表示されます。 displaycolumns オプションが設定されていない場合は、 n 番目のデータカラムはカラム #n+1 に表示されます。再度言っておくと、 カラム #0 は常にツリーカラムを指します 。
仮想イベント¶
ツリービューは以下の仮想イベントを生成します。
Event |
説明 |
|---|---|
<<TreeviewSelect>> |
選択状態が変更されたときに生成されます。 |
<<TreeviewOpen>> |
フォーカスが当たっている要素に open=True が設定される直前に生成されます。 |
<<TreeviewClose>> |
フォーカスが当たっている要素に open=False が設定された直後に生成されます。 |
Treeview.focus() メソッドと Treeview.selection() メソッドは変更を受けた要素を判別するのに使えます。
ttk.Treeview¶
- class tkinter.ttk.Treeview¶
- bbox(item, column=None)¶
(ツリービューウィジェットのウィンドウを基準として) 指定された item のバウンディングボックス情報を (x 座標, y 座標, 幅, 高さ) の形式で返します。
column を指定すると、そのセルのバウンディングボックスを返します。 item が表示されていなければ (閉じた要素の子孫であるか、スクロールによって画面外にある場合)、空文字列を返します。
継承した
Misc.bbox()を隠します。 grid のバウンディングボックスを取得するにはgrid_bbox()を使用してください。
- get_children(item=None)¶
item の子要素をタプルで返します。
item が指定されていなかった場合は、ルート要素の子供が返されます。
- set_children(item, *newchildren)¶
item の子要素を newchildren で置き換えます。
item にいる子供のうち newchildren にないものはツリーから切り離されます。 newchildren にあるどの要素も item の祖先であってはいけません。 newchildren を指定しなかった場合は、 item の子要素が全て切り離されることに注意してください。
- column(column, option=None, **kw)¶
指定した column のオプションを問い合わせたり、変更したりします。
kw が与えられなかった場合は、カラムのオプション値の辞書が返されます。 option が指定されていた場合は、その option の値が返されます。それ以外の場合は、オプションに値を設定します。
設定できるオプションとその値は次の通りです:
- id
カラム名を返します。これは読み出し専用のオプションです。
- anchor: 標準の Tk アンカー値のいずれか。
このカラムでセルに対してテキストをどう配置するかを指定します。
- minwidth: 幅
カラムの最小幅をピクセル単位で表したものです。ツリービューウィジェットは、ウィジェットのサイズが変更されたりカラムをユーザがドラッグして移動させたりしたときに、このオプションで指定した幅より狭くすることはありません。
- separator:
True/False カラムの右側にカラム区切りを描画するかどうかを指定します。
- stretch:
True/False ウィジェットがサイズ変更されたとき、カラムの幅をそれに合わせるかどうかを指定します。
- width: 幅
カラムの幅をピクセル単位で表したものです。
ツリーカラムの設定を行うには、 column = "#0" を付けてこのメソッドを呼び出してください。
- delete(*items)¶
指定された items とその子孫たち全てを削除します。
ルート要素は削除できません。
- detach(*items)¶
指定された items を全てツリーから切り離します。
その要素と子孫たちは依然として存在していて、ツリーの別の場所に再度挿入することができますが、隠された状態になり表示はされません。
ルート要素は切り離せません。
- exists(item)¶
指定された item がツリーに存在すれば
Trueを、それ以外はFalseを返します。
- focus(item=None)¶
item が指定されていた場合は、 item にフォーカスを当てます。そうでない場合は、現在フォーカスが当たっている要素が、どの要素にもフォーカスが当たっていない場合は '' が返されます。
継承した
Misc.focus()を隠します。 ウィジェット自体にフォーカスを当てるにはfocus_set()を使用してください。
- heading(column, option=None, **kw)¶
指定された column の heading のオプションを問い合わせたり、変更したりします。
kw が与えられなかった場合は、見出しのオプション値の辞書が返されます。 option が指定されている場合は、 option の値が返されます。それ以外の場合は、オプションに値を設定します。
設定できるオプションとその値は次の通りです:
- text: テキスト
カラムの見出しに表示するテキスト。
- image: 画像名
カラムの見出しの右に表示する画像を指定します。
- anchor: アンカー
見出しのテキストをどう配置するかを指定します。標準の Tk anchor の値です。
- command: コールバック
見出しラベルがクリックされたときに実行されるコールバックです。
ツリーカラムの見出しの設定を行うには、 column = "#0" を付けてこのメソッドを呼び出してください。
- identify(component, x, y)¶
x y で与えられた場所にある指定された component の説明を返します。その場所に指定された component が無い場合は空文字列を返します。 (訳注: component には "region", "item", "column", "row", "element" が指定でき、それぞれ "cell", "heading" などの場所の名前、要素の識別子、 #n という形式のカラム名、その行にある要素の識別子、 "text", "padding" などの画面構成要素の名前を返します。)
- identify_row(y)¶
y 座標が y の位置にある要素の識別子を返します。
- identify_column(x)¶
位置 x にあるセルの表示カラム識別子を返します。
ツリーカラムは #0 という識別子を持ちます。
- identify_region(x, y)¶
以下のうち 1 つを返します:
region
意味
heading
ツリーの見出し領域
separator
2 つのカラム見出しの間のスペース
tree
ツリーの領域
cell
データセル
使用可能バージョン: Tk 8.6
- identify_element(x, y)¶
x y の位置にある画面構成要素の名前を返します。
使用可能バージョン: Tk 8.6
- index(item)¶
親要素の子要素リストの中での item のインデックスを返します。
- insert(parent, index, iid=None, **kw)¶
新しい要素を作り、その要素の識別子を返します。
parent は親となる要素の識別子で、空文字列にすると新しい要素を最上位に作成します。 index は整数もしくは "end" という値で、それによって親要素の子要素リストのどこに新しい要素を挿入するかを指定します。 index が 0 以下だった場合は、新しい要素は先頭に挿入されます; index が現在の子要素の数以上だった場合は末尾に挿入されます。 iid が指定された場合は、要素の識別子として使われます; iid はまだツリーに存在していないものに限ります。それ以外の場合は、一意な識別子が生成されます。
指定できるオプションの一覧は Item Options を参照してください。
- item(item, option=None, **kw)¶
指定された item のオプションを問い合わせたり、変更したりします。
オプションが与えられなかった場合は、要素のオプションと値が辞書の形で返されます。 option が指定された場合は、そのオプションの値が返されます。それ以外の場合は、 kw で与えられたようにオプションに値が設定されます。
- move(item, parent, index)¶
item を parent の子要素リストの index の位置に移動します。
要素を自身の子孫の下に移動させるのは許されていません。 index が 0 以下の場合、 item は先頭に移動されます; 子要素の数以上だった場合、末尾に移動されます。 item が切り離された状態の場合は、再度取り付けられます。
reattach()はmove()の別名です。
- next(item)¶
item の 1 つ下の兄弟の識別子を、 item が親にとって一番下の子供だった場合 '' を返します。
- parent(item)¶
item の親の識別子を、 item が階層の最上位にいた場合 '' を返します。
- prev(item)¶
item の 1 つ上の兄弟の識別子を、 item が親にとって一番上の子供だった場合 '' を返します。
- see(item)¶
item を見える状態にします。
item の全ての祖先の
openオプションをTrueにし、必要であれば item がツリーの見える範囲に来るようにウィジェットをスクロールさせます。
- selection()¶
選択されている要素をタプルで返します。
バージョン 3.8 で変更:
selection()は引数を受け取らなくなりました。 選択状態を変更するには、以下の選択用メソッドを使用してください。
- selection_set(*items)¶
新しく選択状態の要素が items になります。
バージョン 3.6 で変更: items は 1 つのタプルとしてだけでなく、別々の引数としても渡せます。
- selection_add(*items)¶
選択状態の要素として items を追加します。
バージョン 3.6 で変更: items は 1 つのタプルとしてだけでなく、別々の引数としても渡せます。
- selection_remove(*items)¶
選択状態の要素から items を取り除きます。
バージョン 3.6 で変更: items は 1 つのタプルとしてだけでなく、別々の引数としても渡せます。
- selection_toggle(*items)¶
items のそれぞれの要素の選択状態を入れ替えます。
バージョン 3.6 で変更: items は 1 つのタプルとしてだけでなく、別々の引数としても渡せます。
- set(item, column=None, value=None)¶
1 引数で呼び出された場合、指定された item のカラムと値のペアからなる辞書を返します。 2 引数で呼び出された場合、指定された column の現在の値を返します。 3 引数で呼び出された場合、与えられた item の column を指定された値 value に設定します。
- tag_bind(tagname, sequence=None, callback=None)¶
与えられたイベント sequence 用のコールバックをタグ tagname にバインドします。イベントが要素に渡ってきたときに、要素の tags オプションのそれぞれのコールバックが呼び出されます。
- tag_configure(tagname, option=None, **kw)¶
指定された tagname のオプションを問い合わせたり、変更したりします。
kw が与えられなかった場合、 tagname のオプション設定を辞書の形で返します。 option が指定された場合、指定された tagname の option の値を返します。それ以外の場合、与えられた tagname のオプションに値を設定します。
- tag_has(tagname, item=None)¶
item を指定した場合、その item に tagname のタグがあれば
Trueを、なければFalseを返します。 item を指定しなければ、指定されたタグを持つすべての要素をタプルで返します。使用可能バージョン: Tk 8.6
- xview(*args)¶
ツリービューの水平方向の位置を問い合わせたり、変更したりします。
- yview(*args)¶
ツリービューの垂直方向の位置を問い合わせたり、変更したりします。
Ttk のスタイル設定¶
ttk の各ウィジェットにはスタイルが割り当てられています。
スタイルは、ウィジェットを構成する要素とその配置、および要素のオプションの動的な設定とデフォルト設定を指定します。
スタイル名はデフォルトでウィジェットのクラス名と同じですが、ウィジェットの style オプションで上書きできます。
ウィジェットのクラス名が分からない場合は、Misc.winfo_class メソッド (somewidget.winfo_class()) を使用してください。
参考
- Tk テーマエンジン入門
ttk::introの man ページでは、テーマエンジンの仕組みを説明しています。- The Tile Widget Set
テーマエンジン (当時は独立した Tile 拡張) を紹介した Joe English による 2004 年の論文です。 要素とレイアウトがウィジェットの外観を構成する仕組みを図解しています。
- class tkinter.ttk.Style¶
このクラスはスタイルデータベースを操作するために使われます。
- configure(style, query_opt=None, **kw)¶
style の指定されたオプションのデフォルト値を問い合わせたり、設定したりします。
kw のそれぞれのキーはオプション名で値はそのオプションの値の文字列です。
例えば、全てのデフォルトのボタンをパディングのある平らな見た目にし、背景の色を変更するには以下のようにします:
from tkinter import ttk import tkinter root = tkinter.Tk() ttk.Style().configure("TButton", padding=6, relief="flat", background="#ccc") btn = ttk.Button(text="Sample") btn.pack() root.mainloop()
- map(style, query_opt=None, **kw)¶
style の指定されたオプションの動的な値を問い合わせたり、設定したりします。
kw のそれぞれのキーはオプション名で、値はタプルやリストや何か他のお好みのものでグループ化された状態仕様 (statespec) を要素とするリストやタプルです。状態仕様は 1 つもしくは複数の状態と値の組み合わせです。
以下のように、例を示す方がわかりやすいでしょう:
import tkinter from tkinter import ttk root = tkinter.Tk() style = ttk.Style() style.map("C.TButton", foreground=[('pressed', 'red'), ('active', 'blue')], background=[('pressed', '!disabled', 'black'), ('active', 'white')] ) colored_btn = ttk.Button(text="Test", style="C.TButton").pack() root.mainloop()
あるオプションに対する状態と値の組 (states, value) の並び順はスタイルに影響を与えることに注意してください。例えば、foreground オプションの順序を
[('active', 'blue'), ('pressed', 'red')]に変更した場合、ウィジェットがアクティブもしくは押された状態のとき前面が青くなります。設定する値を指定せずにマッピングを問い合わせると、各オプションを状態仕様 (statespec) のリストに対応付ける辞書を返します。
バージョン 3.10 で変更: マッピングを問い合わせたときの戻り値を訂正しました。
- lookup(style, option, state=None, default=None)¶
style の指定された option の値を返します。
state を指定する場合は、1 つ以上の状態名の並びである必要があります。 default 引数が指定されていた場合は、オプション指定が見付からなかったときに代わりに返される値として使われます。
デフォルトでボタンがどのフォントを使うかを調べるには、以下のように実行します:
from tkinter import ttk print(ttk.Style().lookup("TButton", "font"))
- layout(style, layoutspec=None)¶
与えられた style でのウィジェットのレイアウトを定義します。 layoutspec が省略されていた場合は、与えられたスタイルのレイアウト仕様を返します。
layoutspec を指定する場合は、リストもしくは (文字列を除いた) 何か他のシーケンス型である必要があります。それぞれの要素はタプルで、レイアウト名を 1 番目の要素とし、2 番目の要素は Layouts で説明されているフォーマットである必要があります。
形式を理解するには、以下の例を参照してください。 この例は実用的な処理を行うためのものではありません。
from tkinter import ttk import tkinter root = tkinter.Tk() style = ttk.Style() style.layout("TMenubutton", [ ("Menubutton.background", None), ("Menubutton.button", {"children": [("Menubutton.focus", {"children": [("Menubutton.padding", {"children": [("Menubutton.label", {"side": "left", "expand": 1})] })] })] }), ]) mbtn = ttk.Menubutton(text='Text') mbtn.pack() root.mainloop()
- element_create(elementname, etype, *args, **kw)¶
現在のテーマに、指定された etype の新しい要素を作成します。 etype は "image"、"from"、"vsapi" のいずれかである必要があります。 "vsapi" は Windows の Tk 8.6 でのみ使用できます。
"image" が使われた場合、 args はデフォルトの画像名の後ろに状態仕様と値のペア (これが画像仕様です) を並べたものである必要があります。 kw には以下のオプションが指定できます:
- border=padding
padding は 4 個以下の整数のリストで、それぞれ左、上、右、下の縁の幅を指定します。
- height=height
要素の最小の高さを指定します。0 より小さい場合は、画像の高さをデフォルトとして使用します。
- padding=padding
要素の内部のパディングを指定します。指定されない場合は、 border の値がデフォルトとして使われます。
- sticky=spec
1 つ外側の枠に対し画像をどう配置するかを指定します。 spec は "n", "s", "w", "e" の文字を 0 個以上含みます。
- width=width
要素の最小の幅を指定します。0 より小さい場合は、画像の幅をデフォルトとして使用します。
以下はプログラム例です:
img1 = tkinter.PhotoImage(master=root, file='button.png') img1 = tkinter.PhotoImage(master=root, file='button-pressed.png') img1 = tkinter.PhotoImage(master=root, file='button-active.png') style = ttk.Style(root) style.element_create('Button.button', 'image', img1, ('pressed', img2), ('active', img3), border=(2, 4), sticky='we')
etype に "from" を指定すると、
element_create()は既存の要素を複製します。 args には複製元のテーマ名を指定し、必要に応じてその後に複製元の要素を指定します。 複製元の要素を省略すると空の要素が使われます。 kw は破棄されます。以下はプログラム例です:
style = ttk.Style(root) style.element_create('plain.background', 'from', 'default')
etype に "vsapi" を指定すると、
element_create()は現在のテーマに新しい要素を作成します。 要素の外観は、Windows XP と Vista のテーマ付きスタイルを担う Microsoft Visual Styles API で描画されます。 args には Microsoft のドキュメントに記載された Visual Styles のクラスとパーツを指定します。 その後に、ttk の状態とそれに対応する Visual Styles API の状態値を組にしたタプルのシーケンスを指定することもできます。 kw には以下のオプションを指定できます:- padding=padding
要素の内部のパディングを指定します。 padding は 4 個以下の整数のリストで、それぞれ左、上、右、下のパディングの量を指定します。 4 個未満の場合、下は上、右は左、上は左の値がデフォルトになります。 つまり、3 個の数値なら左・上下・右、2 個なら左右・上下のパディングを指定し、1 個ならウィジェットの周囲すべてに同じパディングを指定します。 このオプションは他のオプションと併用できません。
- margins=padding
要素の外側のパディングを指定します。 padding は 4 個以下の整数のリストで、それぞれ左、上、右、下のパディングの量を指定します。 このオプションは他のオプションと併用できません。
- width=width
要素の幅を指定します。 このオプションを設定すると、パーツの推奨サイズを Visual Styles API に問い合わせなくなります。 このオプションを設定する場合は height も設定する必要があります。 width と height のオプションは、padding や margins のオプションと併用できません。
- height=height
要素の高さを指定します。 width の説明を参照してください。
以下はプログラム例です:
style = ttk.Style(root) style.element_create('pin', 'vsapi', 'EXPLORERBAR', 3, [ ('pressed', '!selected', 3), ('active', '!selected', 2), ('pressed', 'selected', 6), ('active', 'selected', 5), ('selected', 4), ('', 1)]) style.layout('Explorer.Pin', [('Explorer.Pin.pin', {'sticky': 'news'})]) pin = ttk.Checkbutton(style='Explorer.Pin') pin.pack(expand=True, fill='both')
バージョン 3.13 で変更: "vsapi" 要素ファクトリへの対応を追加しました。
- element_names()¶
現在のテーマに定義されている要素をタプルで返します。
- element_options(elementname)¶
elementname のオプションをタプルで返します。
- theme_create(themename, parent=None, settings=None)¶
新しいテーマを作成します。
themename が既に存在していた場合はエラーになります。 parent が指定されていた場合は、新しいテーマは親テーマからスタイルや要素やレイアウトを継承します。 settings が指定された場合は、
theme_settings()で使われるのと同じ形式である必要があります。
- theme_settings(themename, settings)¶
一時的に現在のテーマを themename に設定し、指定された settings を適用した後、元のテーマを復元します。
settings のそれぞれのキーはスタイル名で値はさらに 'configure', 'map', 'layout', 'element create' をキーとして持ち、その値はそれぞれ
Style.configure(),Style.map(),Style.layout(),Style.element_create()メソッドで指定するのと同じ形式である必要があります。例として、コンボボックスの default テーマを少し変更してみましょう
from tkinter import ttk import tkinter root = tkinter.Tk() style = ttk.Style() style.theme_settings("default", { "TCombobox": { "configure": {"padding": 5}, "map": { "background": [("active", "green2"), ("!disabled", "green4")], "fieldbackground": [("!disabled", "green3")], "foreground": [("focus", "OliveDrab1"), ("!disabled", "OliveDrab2")] } } }) combo = ttk.Combobox().pack() root.mainloop()
- theme_names()¶
既知のすべてのテーマをタプルで返します。
- theme_use(themename=None)¶
themename が与えられなかった場合は、現在使用中のテーマ名を返します。そうでない場合は、現在のテーマを themename に設定し、全てのウィジェットを再描画し、 <<ThemeChanged>> イベントを発生させます。
レイアウト¶
レイアウトは、オプションを持たなければ None、持つ場合は要素の配置を指定するオプションの辞書にできます。
レイアウトの仕組みは pack ジオメトリマネージャーの簡略版です。
最初に空間が与えられ、各要素にその一部の領域が割り当てられます。
設定できるオプションとその値は次の通りです:
- side: 配置する側
要素を空間のどちら側に配置するかを指定します; top, right, bottom, left のどれか 1 つです。省略された場合は、要素は空間全体を占めます。
- sticky: nswe
配分された空間の内部に要素をどう配置するかを指定します。
- unit: 0 または 1
1 に設定すると、
Widget.identify()などでは、その要素とすべての子孫を単一の要素として扱います。 グリップ付きのスクロールバーのつまみなどに使います。- children: [サブレイアウト... ]
要素の内部に配置する要素のリストを指定します。 リスト内の各要素はタプル (または他のシーケンス型) で、1 番目の項目がレイアウト名、2 番目の項目が Layout です。
その他のウィジェット¶
以下のテーマ付きウィジェットも tkinter.ttk のウィジェット群に含まれます。
それぞれ従来の tkinter の同名ウィジェットに対応するテーマ付きのウィジェットで、Widget の共通メソッドを継承します。
- class tkinter.ttk.Button(master=None, **kw)¶
テキストラベルや画像を表示し、押されたときにコマンドを実行する Ttk の
Buttonウィジェットです。tkinter.Buttonに対応するテーマ付きウィジェットで、Widgetの共通ウィジェットメソッドを継承します。- invoke()¶
ボタンに関連付けられたコマンドを呼び出し、その結果を返します。
- class tkinter.ttk.Checkbutton(master=None, **kw)¶
オンとオフが切り替わるブール変数を操作する Ttk の
Checkbuttonウィジェットです。tkinter.Checkbuttonに対応するテーマ付きウィジェットで、Widgetの共通ウィジェットメソッドを継承します。- invoke()¶
ボタンの選択状態と非選択状態を切り替え、ボタンに関連付けられたコマンドを呼び出して、その結果を返します。
- class tkinter.ttk.Entry(master=None, widget=None, **kw)¶
1 行のテキスト文字列を表示し、ユーザーが編集できる Ttk の
Entryウィジェットです。tkinter.Entryに対応するテーマ付きウィジェットで、Widgetの共通ウィジェットメソッドとtkinter.Entryの編集用メソッドを継承します。- bbox(index)¶
指定された index の文字のバウンディングボックスを表すタプル
(x, y, width, height)を返します。継承した
Misc.bbox()を隠します。 grid のバウンディングボックスを取得するにはgrid_bbox()を使用してください。
- identify(x, y)¶
x と y で指定された位置にある構成要素の名前を返します。 その位置に構成要素がなければ空文字列を返します。
- validate()¶
入力欄の検証を強制的に実行し、検証が成功すれば
Trueを、それ以外はFalseを返します。
- class tkinter.ttk.Frame(master=None, **kw)¶
他のウィジェットをまとめて配置するコンテナとして使う Ttk の
Frameウィジェットです。tkinter.Frameに対応するテーマ付きウィジェットで、Widgetの共通ウィジェットメソッドを継承します。
- class tkinter.ttk.Label(master=None, **kw)¶
テキストラベルや画像を表示する Ttk の
Labelウィジェットです。tkinter.Labelに対応するテーマ付きウィジェットで、Widgetの共通ウィジェットメソッドを継承します。
- class tkinter.ttk.Labelframe(master=None, **kw)¶
内容の周囲に枠線とタイトルラベルを描くコンテナである Ttk の
Labelframeウィジェットです。tkinter.LabelFrameに対応するテーマ付きウィジェットで、Widgetの共通ウィジェットメソッドを継承します。
- class tkinter.ttk.Menubutton(master=None, **kw)¶
テキストラベルや画像を表示し、押されたときにメニューをポップアップ表示する Ttk の
Menubuttonウィジェットです。tkinter.Menubuttonに対応するテーマ付きウィジェットで、Widgetの共通ウィジェットメソッドを継承します。
- class tkinter.ttk.OptionMenu(master, variable, default=None, *values, **kwargs)¶
複数の選択肢から 1 つを選ぶメニューをポップアップ表示する
Menubuttonである、Ttk のOptionMenuウィジェットです。 variable は現在の選択値を保持する変数、default は初期値、values はメニューに表示する項目です。 キーワード引数 command には、選択が変わるたびに選択値を引数として呼び出す呼び出し可能オブジェクトを指定できます。 キーワード引数 style は内部のメニューボタンのスタイルを設定します。 キーワード引数 direction はメニューボタンに対するメニューの表示位置を設定し、'above'、'below'(デフォルト)、'left'、'right'、'flush'のいずれかです。 キーワード引数 name は Tk のウィジェット名を設定します。メニューの項目を values で置き換えます。 default を指定した場合は、variable の現在の値もその値に設定します。
- destroy()¶
このウィジェットと関連付けられたメニューを破棄します。
バージョン 3.14 で変更: キーワード引数 name への対応を追加しました。
- class tkinter.ttk.Panedwindow(master=None, **kw)¶
複数の子ウィンドウを縦または横に並べて表示する Ttk の
Panedwindowウィジェットです。 ユーザーはペイン間の仕切りをドラッグして、子ウィンドウのサイズの比率を調整できます。tkinter.PanedWindowに対応するテーマ付きウィジェットで、Widgetの共通ウィジェットメソッドと、tkinter.PanedWindowのadd()およびpanes()メソッドを継承します。- insert(pos, child, **kw)¶
child を含むペインを位置 pos に挿入します。 pos は文字列
'end'、整数インデックス、管理下の子ウィンドウの名前のいずれかです。 child がすでにこのペインウィンドウの管理下にあれば、指定された位置に移動します。 キーワード引数でペインのオプションを設定します。
- forget(child)¶
child をペインから取り除きます。 child には整数インデックス、または管理下の子ウィンドウの名前を指定できます。
このメソッドは、継承したジオメトリマネージャーの
forget()を隠します。 ウィジェット自体をマネージャーの管理対象から外すには、pack_forget()、grid_forget()、place_forget()を使ってください。
- pane(pane, option=None, **kw)¶
指定された pane のオプションを問い合わせたり変更したりします。 pane は整数インデックス、または管理下の子ウィンドウの名前です。 オプションを指定しなければ、ペインのオプション値の辞書を返します。 option を指定した場合は、そのオプションの値を返します。 それ以外の場合は、キーワード引数で指定されたオプションを対応する値に設定します。
- sashpos(index, newpos=None)¶
newpos を指定した場合、番号 index の仕切りの位置を設定し、新しい位置を返します。 位置が単調増加するように、隣接する仕切りの位置も調整されることがあります。 位置は 0 からウィジェットの全体サイズまでの範囲にも制限されます。 newpos を省略した場合は、仕切りの現在の位置を返します。
- class tkinter.ttk.Radiobutton(master=None, **kw)¶
グループを構成し、互いに排他的な複数の値から 1 つを選んで共有の単一変数を操作する Ttk の
Radiobuttonウィジェットです。tkinter.Radiobuttonに対応するテーマ付きウィジェットで、Widgetの共通ウィジェットメソッドを継承します。- invoke()¶
variableオプションで関連付けた変数をボタンの値に設定してボタンを選択状態にし、ボタンに関連付けられたコマンドを呼び出して、その結果を返します。
- class tkinter.ttk.Scale(master=None, **kw)¶
スライダーを溝に沿って動かし、ある範囲から数値を選択できる Ttk の
Scaleウィジェットです。tkinter.Scaleに対応するテーマ付きウィジェットで、Widgetの共通ウィジェットメソッドを継承します。- configure(cnf=None, **kw)¶
Modify or query the widget options, like
Widget.configure. In addition, this method clips thefromandtovalues so that the current value stays within the range defined by them.バージョン 3.9 で変更:
Widget.configureと同じように設定値を返すようになりました。
- get(x=None, y=None)¶
スケールの現在の値を返します。 x と y を指定した場合は、代わりにピクセル座標 x、y に対応する値を返します。
- class tkinter.ttk.Scrollbar(master=None, **kw)¶
Treeview、Entry、tkinter.Textなど、関連付けられたスクロール可能なウィジェットの表示範囲を操作する Ttk のScrollbarウィジェットです。tkinter.Scrollbarに対応するテーマ付きウィジェットで、Widgetの共通ウィジェットメソッドと、tkinter.Scrollbarのset()およびget()メソッドを継承します。
- class tkinter.ttk.Separator(master=None, **kw)¶
水平または垂直の区切り線を表示する Ttk の
Separatorウィジェットです。tkinterには直接対応するウィジェットがなく、Widgetの共通ウィジェットメソッドを継承します。
- class tkinter.ttk.Sizegrip(master=None, **kw)¶
通常は右下隅に配置され、押してドラッグすることで、配置先のトップレベルウィンドウのサイズを変更できるグリップを表示する Ttk の
Sizegripウィジェットです。tkinterには直接対応するウィジェットがなく、Widgetの共通ウィジェットメソッドを継承します。
- class tkinter.ttk.LabeledScale(master=None, variable=None, from_=0, to=10, **kw)¶
Scaleと、その現在の値を表示するLabelを含むFrameです。 variable はスケールの値を保持するIntVarです (指定しなければ新しく作成されます)。 from_ と to はスケールの範囲を定義します。- destroy()¶
このウィジェットを破棄し、関連付けられた変数に登録したトレースコールバックを取り除きます。
- class tkinter.ttk.LabelFrame(master=None, **kw)¶
Labelframeの別名で、tkinter.LabelFrameとの名前の互換性を保つために用意されています。
- class tkinter.ttk.PanedWindow(master=None, **kw)¶
Panedwindowの別名で、tkinter.PanedWindowとの名前の互換性を保つために用意されています。