Ruby-tk-frame

提供:Dev Guides
移動先:案内検索

Ruby/TK-フレームウィジェット

説明

_frame_は、単純な長方形として表示されるウィジェットです。 フレームは主に、グリッドなどのジオメトリマネージャーの制御下にある他のウィジェットのコンテナーとして使用されます。

フレームの唯一の機能は、背景色とオプションの3D境界線であり、フレームを浮き上がらせたり沈み込ませたりします。

構文

フレームウィジェットを作成する簡単な構文を次に示します-

TkFrame.new {
   .....Standard Options....
   .....Widget-specific Options....
}

標準オプション

  • ボーダー幅
  • ハイライト
  • ハイライト
  • フォーカス
  • ハイライトカラー
  • 安心 *カーソル

これらのオプションは前の章で説明されています。

ウィジェット固有のオプション

Sr.No. Options & Description
1
  • background* ⇒ String

このオプションは、その値が未定義の値として指定される場合があることを除いて、標準の background オプションと同じです。 この場合、ウィジェットには背景も境界線も表示されず、背景と境界線のカラーマップから色が消費されることもありません。

2
  • colormap *⇒ String

ウィンドウに使用するカラーマップを指定します。 値は_new_の場合があります。この場合、ウィンドウとその子に対して新しいカラーマップが作成されます。または、別のウィンドウの名前(同じ画面上にある必要があります)の場合、新しいウィンドウは指定されたウィンドウ。* colormap *オプションが指定されていない場合、新しいウィンドウは親と同じカラーマップを使用します。

3
  • container *⇒ Boolean

値はブール値でなければなりません。 trueの場合、このウィンドウは、他のアプリケーションが埋め込まれるコンテナとして使用されることを意味します。 ウィンドウは、ジオメトリリクエストなどの適切なウィンドウマネージャープロトコルをサポートします。 このアプリケーションでは、ウィンドウに独自の子を持たせないでください。

4
  • height *⇒ Integer

ウィンドウの高さをピクセルまたはポイントで指定します。

5
  • width* ⇒ Integer

ウィンドウに必要な幅をピクセルまたはポイントで指定します。

イベントバインディング

新しいフレームが作成されるとき、デフォルトのイベントバインディングはありません。フレームはインタラクティブになることを意図していません。

require "tk"

f1 = TkFrame.new {
   relief 'sunken'
   borderwidth 3
   background "red"
   padx 15
   pady 20
   pack('side' => 'left')
}
f2 = TkFrame.new {
   relief 'groove'
   borderwidth 1
   background "yellow"
   padx 10
   pady 10
   pack('side' => 'right')
}

TkButton.new(f1) {
   text 'Button1'
   command {print "push button1!!\n"}
   pack('fill' => 'x')
}
TkButton.new(f1) {
   text 'Button2'
   command {print "push button2!!\n"}
   pack('fill' => 'x')
}
TkButton.new(f2) {
   text 'Quit'
   command 'exit'
   pack('fill' => 'x')
}
Tk.mainloop

これは、次の結果を生成します-

Ruby/Tk Frame