Ruby-tk-notebook
提供:Dev Guides
Ruby/TK-ノートブックウィジェット
NoteBookウィジェットは、限られたスペースに複数のウィンドウを表示するノートブックのメタファーを提供します。 ノートブックはページのスタックに分割されており、常に1つだけが表示されます。
他のページは、ウィジェットの上部にある視覚的なタブを選択することで選択できます。 また、<Tab>キーを使用してページを走査することもできます。 underline オプションを使用すると、_Alt-bindings_も機能します。
構文
このウィジェットを作成する簡単な構文は次のとおりです-
Tk::Tile::Notebook.new(root) {
.....Standard Options....
.....Widget Specific Options....
}
標準オプション
- クラス
- カーソル
- 状態
- スタイル *フォーカス
ウィジェット固有のオプション
Sr.No. | Options & Description |
---|---|
1 |
存在し、ゼロより大きい場合、ペイン領域の目的の高さを指定します(内部パディングまたはタブは含まれません)。 それ以外の場合、すべてのペインの最大の高さが使用されます。 |
2 |
ノートブックの外側に追加する余分なスペースの量を指定します。 パディングは、最大4つの長さ指定(左上、右下)のリストです。 4つ未満の要素を指定した場合、bottom_のデフォルトは_top _、 right_のデフォルトは_left 、 top_のデフォルトは_left_になります。 |
3 |
存在し、ゼロより大きい場合、ペイン領域の目的の幅を指定します(内部パディングは含まれません)。 それ以外の場合、すべてのペインの最大幅が使用されます。 |
ノートブックの操作
ノートブックで遊ぶにはさまざまな方法があります-
*通常、ノートブックの各ページはフレームであり、ノートブック自体の直接の子(サブウィンドウ)です。* "add _subwindow?option value ...?_" *メソッドを使用して、タブのリストの最後に新しいページとその関連タブが追加されます。
* *text* タブオプションは、タブのラベルを設定するために使用されます。 *state* タブオプションも便利です。このオプションには、値 *normal* 、 *disabled* (選択不可)、または *hidden* を指定できます。
* リストの最後以外の場所にタブを挿入するには、 *"insert _position subwindow?option value ...?_"* を使用し、指定されたタブを削除するには、 *forget* メソッドを使用して渡します。位置(0..n-1)またはタブのサブウィンドウのいずれか。 *tabs* メソッドを使用して、ノートブックに含まれるすべてのサブウィンドウのリストを取得できます。
* 現在選択されているサブウィンドウを取得するには、 *selected* メソッドを呼び出し、 *select* メソッドを呼び出して選択したタブを変更し、タブの位置またはサブウィンドウ自体をパラメーターとして渡します。
* タブオプションを変更するには、 *"itemconfigure tabid、:option => value"* メソッドを使用できます。 ここで、_tabid_はタブの位置またはサブウィンドウです。 *"itemcget tabid、:option"* を使用して、オプションの現在の値を返すことができます。
例
require 'tk'
require 'tkextlib/tile'
root = TkRoot.new
root.title = "Window"
n = Tk::Tile::Notebook.new(root)do
height 110
place('height' => 100, 'width' => 200, 'x' => 10, 'y' => 10)
end
f1 = TkFrame.new(n)
f2 = TkFrame.new(n)
f3 = TkFrame.new(n)
n.add f1, :text => 'One', :state =>'disabled'
n.add f2, :text => 'Two'
n.add f3, :text => 'Three'
Tk.mainloop
これは、次の結果を生成します-