Ruby-tk-paned
提供:Dev Guides
Ruby/TK-パンウィンドウウィジェット
*Panedwindow* ウィジェットを使用すると、2つ以上のサイズ変更可能なウィジェットを上下(または左右)にスタックできます。
ユーザーは、各ペインの間にあるサッシをドラッグして、各ペインの相対的な高さ(または幅)を調整できます。 通常、区画ウィンドウに追加するウィジェットは、他の多くのウィジェットを含むフレームになります。
構文
このウィジェットを作成する簡単な構文は次のとおりです-
Tk::Tile::Paned.new(root) {
.....Standard Options....
.....Widget Specific Options....
}
標準オプション
- クラス
- カーソル
- スタイル *フォーカス
ウィジェット固有のオプション
Sr.No. | Options & Description |
---|---|
1 |
|
2 |
存在し、ゼロより大きい場合、ウィジェットの希望する幅をピクセルで指定します。 それ以外の場合、要求された幅は管理対象ウィンドウの幅によって決まります。 |
3 |
存在し、ゼロより大きい場合、ウィジェットの希望する高さをピクセル単位で指定します。 それ以外の場合、要求された高さは管理対象ウィンドウの高さによって決まります。 |
ペインの操作
- "add" メソッドを呼び出すと、ペインのリストの最後に新しいペインが追加されます。 "insert _position subwindow _" メソッドを使用すると、ペインのリスト(0..n-1)内の指定された位置にペインを配置できます。ペインが既にペインウィンドウによって管理されている場合、新しい位置に移動されます。 "forget _subwindow _" を使用して、ペインウィンドウからペインを削除できます。サブウィンドウの代わりに位置を渡すこともできます。
- 他のオプションを使用すると、各ウィンドウに相対的な重みを付けて、ウィンドウ全体のサイズが変更された場合、特定のウィンドウが他のウィンドウよりも多くのスペースを確保できます。 同様に、パンウィンドウ内のアイテム間の各サッシの位置を調整できます。 詳細については、http://www.tcl.tk/man/tcl8.5/TkCmd/ttk_panedwindow [コマンドリファレンス]を参照してください。
例
require 'tk'
require 'tkextlib/tile'
$resultsVar = TkVariable.new
root = TkRoot.new
root.title = "Window"
p = Tk::Tile::Paned.new(root)do
height 110
place('height' => 100, 'width' => 200, 'x' => 10, 'y' => 10)
end
f1 = TkFrame.new(p) {
relief 'groove'
borderwidth 3
background "red"
padx 30
pady 30
pack('side' => 'left', 'pady' => 100)
}
f2 = TkFrame.new (p){
relief 'groove'
borderwidth 3
background "yellow"
padx 30
pady 30
pack('side' => 'right', 'pady' => 100)
}
p.add f1, nil
p.add f2, nil
Tk.mainloop
これは、次の結果を生成します-