Ruby/TK - Notebook 笔记本小工具
NoteBook 小部件提供了一个笔记本隐喻,可以在有限的空间中显示多个窗口。 笔记本被分成一摞页,任何时候都只显示其中一页。
可以通过选择小部件顶部的可视选项卡来选择其他页面。 此外,<Tab> 键可用于遍历页面。 如果使用 underline 选项,Alt-bindings 也将起作用。
语法
这是创建此小部件的简单语法 −
Tk::Tile::Notebook.new(root) { .....Standard Options.... .....Widget Specific Options.... }
标准选项
- class
- cursor
- state
- style
- takefocus
小部件特定选项
序号 | 选项 & 描述 |
---|---|
1 | height => Integer 如果存在且大于零,则指定窗格区域的所需高度(不包括内部填充或选项卡)。 否则,将使用所有窗格的最大高度。 |
2 | padding => Integer 指定要在笔记本外部周围添加的额外空间量。 填充是最多四个长度规格的列表左上右下。如果指定的元素少于四个,bottom 默认为 top,right 默认为 left, top 默认为 left。 |
3 | width => Integer 如果存在且大于零,则指定窗格区域的所需宽度(不包括内部填充)。 否则,将使用所有窗格的最大宽度。 |
操作 Notebook
Notebook 有多种使用方法 −
Notebook 上的每一页通常是一个框架,是 notebook 本身的直接子窗口(子窗口)。 使用 "add subwindow ?option value...?" 方法将新页面及其关联的选项卡添加到选项卡列表的末尾。
text 选项卡选项用于设置选项卡上的标签; state 选项卡选项也很有用,它的值可以是 normal、disabled(不可选择)或 hidden。
要在列表末尾以外的位置插入选项卡,您可以使用 "insert position subwindow ?option value...?",并删除给定的 选项卡,使用 forget 方法,将位置 (0..n-1) 或选项卡的子窗口传递给它。 您可以通过 tabs 方法来检索 notebook 中包含的所有子窗口的列表。
要检索当前选定的子窗口,请调用 selected 方法,并通过调用 select 方法更改选定的选项卡,将选项卡的位置或子窗口本身传递为 一个参数。
要更改选项卡选项,您可以使用 "itemconfigure tabid, :option => value" 方法。 其中 tabid 是选项卡的位置或子窗口。 您可以使用 "itemcget tabid, :option" 返回选项的当前值。
示例
require 'tk' require 'tkextlib/tile' root = TkRoot.new root.title = "Window" n = Tk::Tile::Notebook.new(root)do height 110 place('height' => 100, 'width' => 200, 'x' => 10, 'y' => 10) end f1 = TkFrame.new(n) f2 = TkFrame.new(n) f3 = TkFrame.new(n) n.add f1, :text => 'One', :state =>'disabled' n.add f2, :text => 'Two' n.add f3, :text => 'Three' Tk.mainloop
这将产生以下结果 −