Ruby-tk-button
Ruby/TK-ボタンウィジェット
説明
- ボタン*は、ユーザーが操作するために、特に押して何らかのアクションを実行するために設計されています。 ボタンは、テキスト文字列、ビットマップ、または画像を表示するウィジェットです。 テキストが表示される場合、すべて単一のフォントである必要がありますが、画面上の複数の行を占める可能性があります。
state_オプションに応じて、ボタンは3つの異なる方法のいずれかで表示されます。 _raised _、 sunken_、または_flat_のように表示することができ、点滅させることができます。
構文
このウィジェットを作成する簡単な構文は次のとおりです-
TkButton.new(root) {
.....Standard Options....
.....Widget-specific Options....
}
標準オプション
- アクティブ
- アクティブ
- アンカー
- バックグラウンド
- ビットマップ
- ボーダー幅
- カーソル
- 無効
- font
- 前景
- ハイライト
- ハイライトカラー
- ハイライト
- 画像
- 正当化する
- padx
- pady
- 安心
- 繰り返し遅延
- 繰り返し間隔
- フォーカス
- text
- テキスト変数
- 下線を引く *ラップ長
これらのオプションは前の章で説明されています。
ウィジェット固有のオプション
Sr.No. | Options & Description |
---|---|
1 |
ボタンに関連付けるRubyコマンドを指定します。 この_command_は通常、マウスボタン1がボタンウィンドウ上で離されたときに呼び出されます。 ここでは、マウスクリックに対して実行されるRubyメソッドを関連付けることができます。 以下の例でそれを実行しました。 |
2 |
ボタンに画像とテキストの両方を表示するかどうかを指定します。表示する場合は、テキストに対して画像を配置する場所を指定します。 このオプションの有効な値は、 bottom 、 center 、 left 、 none 、 right 、および top です。 デフォルト値は none です。これは、_image_および_bitmap_オプションの値に応じて、ボタンに画像またはテキストが表示されることを意味します。 |
3. |
ボタンの高さを指定します。 |
4 |
ボタンの3つの状態、_normal、active、またはdisabled_のいずれかを指定します。 通常の状態では、ボタンは_foreground_および_background_オプションを使用して表示されます。 アクティブ状態は通常、ポインターがボタン上にあるときに使用されます。 アクティブ状態では、_activeforeground_および_activebackground_オプションを使用してボタンが表示されます。 無効な状態とは、ボタンを区別しないことを意味します。 |
5 |
ボタンの幅を指定します。 |
イベントバインディング
Ruby/Tkは、ボタンに次のデフォルトの動作を与えるクラスバインディングを自動的に作成します-
- マウスがボタンの上を通過するたびにボタンがアクティブになり、マウスがボタンを離れるたびに非アクティブになります。
- ボタンのレリーフは、マウスボタン1がボタン上で押されるたびにくぼみに変更され、ボタン1が後でリリースされると、レリーフは元の値に戻ります。
- マウスボタン1がボタン上で押され、その後ボタン上で離されると、ボタンが呼び出されます。 ただし、ボタン1を離したときにマウスがボタン上にない場合、呼び出しは発生しません。
- ボタンに入力フォーカスがある場合、スペースキーによりボタンが呼び出されます。
ボタンの状態が「無効」の場合、上記のアクションはいずれも発生しません。ボタンは完全に応答しません。
例
require 'tk'
def myproc
puts "The user says OK."
exit
end
root = TkRoot.new
btn_OK = TkButton.new(root) do
text "OK"
borderwidth 5
underline 0
state "normal"
cursor "watch"
font TkFont.new('times 20 bold')
foreground "red"
activebackground "blue"
relief "groove"
command (proc {myproc})
pack("side" => "right", "padx"=> "50", "pady"=> "10")
end
Tk.mainloop
このボタンをクリックすると、次の結果が生成され、rubyメソッド_myproc_が実行されます。