Ruby-tk-radiobutton

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

Ruby/TK-ラジオボタンウィジェット

説明

  • ラジオボタン*を使用すると、チェックボタンとは異なり、相互に排他的な多数の選択肢から1つを選択できます。2つの選択肢に限定されません。 ラジオボタンは常にセットで一緒に使用され、選択肢の数がかなり少ない場合に適しています。

ラジオボタンは、テキスト文字列、ビットマップまたは画像、および_indicator_と呼ばれるひし形または円を表示できます。 テキストが表示される場合は、すべて単一のフォントである必要がありますが、画面上で複数行を占めることができます(改行が含まれている場合、または_wraplength_オプションのために折り返しが発生する場合)。オプション。

チェックボタンには、以下を含む単純なボタンのすべての動作があります。状態オプションに応じて、3つの異なる方法のいずれかで自身を表示できます。隆起した、沈んだ、または平らに見えるようにすることができます。フラッシュさせることができます。また、チェックボタン上でマウスボタン1がクリックされるたびにTclコマンドを呼び出します。

構文

このウィジェットを作成する簡単な構文は次のとおりです-

TkRadiobutton.new(root) {
   .....Standard Options....
   .....Widget-specific Options....
}

標準オプション

  • アクティブ
  • アクティブ
  • アンカー
  • バックグラウンド
  • ビットマップ
  • ボーダー幅
  • 化合物
  • カーソル
  • 無効
  • font
  • 前景
  • ハイライト
  • ハイライトカラー
  • ハイライト
  • 画像
  • 正当化する
  • padx
  • pady
  • 安心
  • フォーカス
  • text
  • テキスト変数
  • 下線を引く *ラップ長

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

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

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

Spボタンに関連付けるRubyコマンドを指定します。 通常、このコマンドは、マウスボタン1がボタンウィンドウ上で放されたときに呼び出されます。 ここでは、マウスクリックに対して実行されるRubyメソッドを関連付けることができます。 コマンドオプションを使用して呼び出すことができる組み込み関数-

  • deselect -チェックボタンの選択を解除し、関連する変数を「オフ」値に設定します。
  • flash -チェックボタンを点滅させます。 これは、アクティブな色と通常の色を交互に使用して、チェックボタンを数回再表示することで実現されます。
  • select -チェックボタンを選択し、関連する変数をその「オン」値に設定します。
  • toggle -ボタンの選択状態を切り替えて、ボタンを再表示し、関連する変数を変更して新しい状態を反映します。
2
  • height *⇒ Integer

ボタンの高さを指定します。

3
  • indicatoron *⇒ Boolean

インジケーターを描画するかどうかを指定します。 適切なブール値でなければなりません。 _false_の場合、_relief_オプションは無視され、ウィジェットが選択されている場合はウィジェットのレリーフが常に沈んでおり、そうでない場合は上げられています。

4
  • offvalue *⇒ Integer

このボタンの選択が解除されるたびに、ボタンの関連変数に格納する値を指定します。 デフォルトは0です。

5
  • onvalue *⇒ Integer

このボタンが選択されるたびに、ボタンの関連変数に保存する値を指定します。 デフォルトは1です。

6
  • selectcolor *⇒ String

ボタンが選択されたときに使用する背景色を指定します。 _indicatoron_がtrueの場合、色はインジケーターに適用されます。 _indicatoron_がfalseの場合、この色は、ウィジェットが選択されるたびに、_background_または_activebackground_の代わりに、ウィジェット全体の背景として使用されます。

7
  • selectimage *⇒ Image

チェックボタンが選択されたときに表示する(画像オプションの代わりに)画像を指定します。 imageオプションが指定されていない限り、このオプションは無視されます。

8
  • state *⇒ String

ボタンの3つの状態、_normal、active、またはdisabled_のいずれかを指定します。 通常の状態では、ボタンは_foreground_および_background_オプションを使用して表示されます。 アクティブ状態は通常、ポインターがボタン上にあるときに使用されます。 アクティブ状態では、_activeforeground_および_activebackground_オプションを使用してボタンが表示されます。 無効状態とは、ボタンを区別しないことを意味します。

9
  • variable *⇒ Variable

このボタンが選択されているかどうかを示すために設定するグローバル変数の名前を指定します。 デフォルトは、親内のボタンの名前です。

10
  • width* ⇒ Integer

ボタンの幅を指定します。

イベントバインディング

Ruby/TkはRadiobuttonのクラスバインディングを自動的に作成し、以下のデフォルトの動作を提供します-

  • ラジオボタンは、マウスがその上を通過するたびにアクティブになり、マウスがラジオボタンを離れるたびに非アクティブになります。
  • マウスボタン1をラジオボタン上で押すと、ボタン1が呼び出されます(選択状態が切り替わり、ボタンに関連付けられているコマンドがあれば、そのコマンドが呼び出されます)。
  • ラジオボタンに入力フォーカスがある場合、スペースキーによりチェックボタンが呼び出されます。

ラジオボタンの状態が「無効」の場合、上記のアクションはいずれも発生しません。ラジオボタンは完全に応答しません。

require "tk"

def print_v
   print $v, "\n"
end

$v = TkVariable.new

TkRadioButton.new {
   text 'top'
   variable $v
   value 'top'
   anchor 'w'
   pack('side' => 'top', 'fill' => 'x')
}
TkRadioButton.new {
   text 'middle'
   variable $v
   value 'middle'
   anchor 'w'
   pack('side' => 'top', 'fill' => 'x')
}
TkRadioButton.new {
   text 'bottom'
   variable $v
   value 'bottom'
   anchor 'w'
   pack('side' => 'top', 'fill' => 'x')
}

TkButton.new {
   text 'Quit'
   command 'exit'
   pack
}

Tk.root.bind "1", proc{print_v}

Tk.mainloop

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

Ruby/Tk Radiobutton