Ruby/TK - 最顶层窗口部件



描述

Toplevel 类似于框架,但它被创建为一个顶层窗口。它的 X 父级是屏幕的根窗口,而不是其路径名称中的逻辑父级。

Toplevel 的主要目的是用作对话框和其他窗口部件集合的容器。Toplevel 唯一可见的特征是其背景颜色和可选的 3D 边框,以使 toplevel 显得凸起或凹陷。

语法

以下是如何创建此窗口部件的简单语法:

TkToplevel.new(root) {
   .....Standard Options....
   .....Widget Specific Options....
}

标准选项

  • borderwidth
  • cursor
  • highlightbackground
  • highlightcolor
  • highlightthickness
  • relief
  • takefocus

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

窗口部件特定选项

序号 选项和描述
1

background => 字符串

此选项与标准background选项相同,只是其值也可以指定为空字符串。在这种情况下,窗口部件将不显示任何背景或边框,并且不会从其颜色映射中消耗任何颜色用于其背景和边框。

2

class => 字符串

指定窗口的类。此类将在查询选项数据库以获取窗口的其他选项时使用,并且稍后也将用于其他目的,例如绑定。class选项不能使用configure方法更改。

3

colormap => 字符串

指定要用于窗口的颜色映射。该值可以是new,在这种情况下,为窗口及其子窗口创建一个新的颜色映射,也可以是另一个窗口的名称。

4

height => 整数

指定窗口所需的高度。

5

width => 整数

指定窗口所需的宽度。

事件绑定

创建新的 toplevel 时,它没有默认事件绑定:toplevel 不打算具有交互性。

示例

require 'tk'

def make_win
   begin
      $win.destroy
   rescue
   end
   $win = TkToplevel.new
   TkButton.new($win) {
      text 'Window Dismiss'
      command "$win.destroy"
      pack
   }
end

TkButton.new {
   text 'make Window'
   command 'make_win'
   pack('fill' => 'x')
}

Tk.mainloop

这将产生以下结果:

Ruby/Tk Toplevel
ruby_tk_guide.htm
广告