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
这将产生以下结果 −

