Ruby/TK - 按钮小部件


描述

按钮在很大程度上是为用户交互而设计的,特别是按下按钮来执行某些操作按钮是显示文本字符串、位图或图像的小部件。如果显示文本,则它必须全部采用单一字体,但它可以在屏幕上占据多行。

根据状态选项,按钮可以以三种不同方式之一显示自身。它可以被制成凸起凹陷平坦的形状,并且可以制成闪光的。

句法

这是创建此小部件的简单语法 -

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

标准选项

  • 活动背景
  • 活跃前景
  • 背景
  • 位图
  • 边框宽度
  • 光标
  • 禁用前景
  • 字体
  • 前景
  • 突出显示背景
  • 突出显示颜色
  • 突出显示厚度
  • 图像
  • 证明合法
  • 帕德克斯
  • 稻田
  • 宽慰
  • 重复延迟
  • 重复间隔
  • 聚焦
  • 文本
  • 文本变量
  • 强调
  • 包裹长度

这些选项已在前一章中进行了描述。

小部件特定选项

先生。 选项和说明
1

命令 =>字符串

指定与按钮关联的 Ruby 命令。当在按钮窗口上释放鼠标按钮 1 时,通常会调用此命令。您可以在此处关联要在鼠标单击时执行的 Ruby 方法。我已经在下面给出的示例中完成了它。

2

复合 => 字符串

指定按钮是否应同时显示图像和文本,如果是,则图像相对于文本的放置位置。此选项的有效值为bottomcenterleftnonerighttop。默认值为none,这意味着按钮将显示图像或文本,具体取决于图像位图选项的值。

3. 高度 => 整数

指定按钮所需的高度。

4

状态 => 字符串

指定按钮的三种状态之一:正常 、 活动 或 禁用。在正常状态下,按钮使用前景背景选项显示。当指针位于按钮上方时通常使用活动状态。在活动状态下,按钮使用activeforegroundactivebackground选项显示。禁用状态意味着按钮应该不敏感:

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 。

红宝石/Tk 按钮
ruby_tk_guide.htm