- 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 - 框架小部件
描述
框架是一个显示为简单矩形的小部件。框架主要用作其他小部件的容器,这些小部件受几何管理器(例如网格)的控制。
框架的唯一特征是其背景颜色和可选的 3D 边框,使框架看起来凸起或凹陷。
句法
这是创建框架小部件的简单语法 -
TkFrame.new {
   .....Standard Options....
   .....Widget-specific Options....
}
标准选项
- 边框宽度
 - 突出显示背景
 - 突出显示厚度
 - 聚焦
 - 突出显示颜色
 - 宽慰
 - 光标
 
这些选项已在前一章中进行了描述。
小部件特定选项
| 先生。 | 选项和说明 | 
|---|---|
| 1 | 背景 => 字符串 该选项与标准背景选项相同,只是其值也可以指定为未定义值。在这种情况下,小部件将不显示背景或边框,并且不会从其背景和边框的颜色图中消耗任何颜色。  | 
| 2 | 颜色图 => 字符串 指定用于窗口的颜色图。该值可以是new,在这种情况下,为窗口及其子窗口创建一个新的颜色图,也可以是另一个窗口的名称(必须位于同一屏幕上),在这种情况下,新窗口将使用来自指定窗口。如果未指定颜色图选项,新窗口将使用与其父窗口相同的颜色图。  | 
| 3 | 容器 => 布尔值 该值必须是布尔值。如果为 true,则意味着该窗口将用作嵌入其他应用程序的容器。该窗口将支持适当的窗口管理器协议,例如几何请求。在此应用程序中,该窗口不应有任何自己的子窗口。  | 
| 4 | 高度 => 整数 指定窗口所需的高度(以像素或点为单位)。  | 
| 5 | 宽度 => 整数 指定窗口所需的宽度(以像素或点为单位)。  | 
事件绑定
创建新框架时,它没有默认的事件绑定:框架不具有交互性。
例子
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_guide.htm