Ruby/TK - Toplevel Widget

说明

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

顶层的主要目的是充当对话框和其他小部件集合的容器。 顶层唯一可见的特征是它的背景颜色和一个可选的 3-D 边框,以使顶层看起来凸起或凹陷。

语法

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

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

标准选项

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

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


小部件特定选项

序号 选项 & 描述
1

background => String

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

2

class => String

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

3

colormap => String

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

4

height => Integer

指定窗口的所需高度。

5

width => Integer

指定所需的窗口宽度。


事件绑定

创建新的顶层时,它没有默认的事件绑定:顶层不是交互式的。

示例

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 指南