- Ruby 基础
- Ruby - 首页
- Ruby - 概述
- Ruby - 环境设置
- Ruby - 语法
- Ruby - 类和对象
- Ruby - 变量
- Ruby - 运算符
- Ruby - 注释
- Ruby - IF...ELSE
- Ruby - 循环
- Ruby - 方法
- Ruby - 代码块
- Ruby - 模块
- Ruby - 字符串
- Ruby - 数组
- Ruby - 哈希表
- Ruby - 日期和时间
- Ruby - 范围
- Ruby - 迭代器
- Ruby - 文件 I/O
- Ruby - 异常
Ruby/TK - 按钮部件
描述
一个按钮主要用于用户交互,特别是按下执行某些操作。按钮是一个显示文本字符串、位图或图像的小部件。如果显示文本,则所有文本必须使用单一字体,但它可以在屏幕上占用多行。
根据状态选项,按钮可以以三种不同的方式显示自身。可以使其显示为凸起、凹陷或平面,并且可以使其闪烁。
语法
以下是如何创建此小部件的简单语法:
TkButton.new(root) { .....Standard Options.... .....Widget-specific Options.... }
标准选项
- activebackground
- activeforeground
- anchor
- background
- bitmap
- borderwidth
- cursor
- disabledforeground
- font
- foreground
- highlightbackground
- highlightcolor
- highlightthickness
- image
- justify
- padx
- pady
- relief
- repeatdelay
- repeatinterval
- takefocus
- text
- textvariable
- underline
- wraplength
这些选项已在上一章中进行了描述。
部件特定选项
序号 | 选项和描述 |
---|---|
1 | command => 字符串 指定与按钮关联的 Ruby 命令。此命令通常在鼠标按钮 1 在按钮窗口上释放时调用。在这里,您可以关联一个 Ruby 方法,以便在鼠标点击时执行。我在下面给出的示例中做到了这一点。 |
2 | compound => 字符串 指定按钮是否应同时显示图像和文本,如果显示,则应将图像放置在文本的哪个位置。此选项的有效值为bottom、center、left、none、right和top。默认值为none,这意味着按钮将根据image和bitmap选项的值显示图像或文本。 |
3. | height => 整数 指定按钮所需的高度。 |
4 | state => 字符串 指定按钮的三种状态之一:normal、active或disabled。在正常状态下,按钮使用foreground和background选项显示。活动状态通常在指针位于按钮上时使用。在活动状态下,按钮使用activeforeground和activebackground选项显示。禁用状态表示按钮应该不敏感。 |
5 | width => 整数 指定按钮所需宽度。 |
事件绑定
Ruby/Tk 自动为按钮创建类绑定,使其具有以下默认行为:
当鼠标移到按钮上时,按钮会激活;当鼠标离开按钮时,按钮会停用。
当鼠标按钮 1 在按钮上按下时,按钮的浮雕会更改为凹陷;当按钮 1 随后释放时,浮雕会恢复到其原始值。
如果鼠标按钮 1 在按钮上按下,然后在按钮上释放,则会调用按钮。但是,如果在释放按钮 1 时鼠标不在按钮上,则不会发生调用。
当按钮具有输入焦点时,空格键会导致按钮被调用。
如果按钮的状态为disabled,则上述任何操作都不会发生:按钮完全无响应。
示例
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。