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 默认为 topright 默认为 left top 默认为 left

3

width => Integer

如果存在且大于零,则指定窗格区域的所需宽度(不包括内部填充)。 否则,将使用所有窗格的最大宽度。


操作 Notebook

Notebook 有多种使用方法 −

  • Notebook 上的每一页通常是一个框架,是 notebook 本身的直接子窗口(子窗口)。 使用 "add subwindow ?option value...?" 方法将新页面及其关联的选项卡添加到选项卡列表的末尾。

  • text 选项卡选项用于设置选项卡上的标签; state 选项卡选项也很有用,它的值可以是 normaldisabled(不可选择)或 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

这将产生以下结果 −

Ruby/Tk notebook

❮ Ruby Tk 指南