GUI

Python Tkinter 複雑なインターフェイスの整理 (5) Notebook

ノートブックウィジェットは、タブ付きノートのメタファーを使い、インデックス・タブで複数のページを切り替えられるようにしたもの。ペイン型のウィンドウとは異なり、ユーザーは一度に1つのページ(ペインのようなもの)だけを見ることができる。

ノートブックはttk.Notebookクラスで作成する。

n = ttk.Notebook(parent)
f1 = ttk.Frame(n) 
f2 = ttk.Frame(n) 
n.add(f1, text='One')
n.add(f2, text='Two')

タブ付きノートブックに対する操作は、パネル付きウィンドウに対する操作と似ている。各ページは通常フレームで、ここでもノートブック自体の直接の子 (サブウィンドウ) である必要がある。新しいページとそれに関連するタブを最後のタブの後に追加するには、add subwindow ?option value…? メソッドを使用する。テキスト タブ オプションは、タブのラベルを設定する。また、状態タブ オプションも便利で、値として通常、無効(選択不可)、または非表示を指定できる。

タブをリストの最後以外の場所に挿入するには、insert position subwindow ?option value…? tabs メソッドを使用すると、ノートブックに含まれるすべてのサブウィンドウのリストを取得できる。

現在選択されているサブウィンドウを取得するには、select メソッドを呼び出し、タブの位置またはサブウィンドウ自体をパラメータとして渡すことで、選択されているタブを変更する。

タブのオプション(タブのテキストラベルや状態など)を変更するには、tab(tabid, option=value) メソッドを使用する(ここで tabid は再びタブの位置またはサブウィンドウ)。オプションの現在の値を返すには =value を省略する。

ノートブックウィジェットは、新しいタブが選択されるたびに <<NotebookTabChanged>> 仮想イベントを発生させる。

その他のオプションやコマンドは、コマンドリファレンスを参照すること。