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

这将产生以下结果 -

红宝石/Tk 框架
ruby_tk_guide.htm