Ruby/TK - 窗格窗口部件



Panedwindow部件允许您将两个或多个可调整大小的部件上下堆叠(或左右堆叠)。

用户可以通过拖动它们之间的滑块来调整每个窗格的相对高度(或宽度)。通常,您添加到panedwindow的部件将是包含许多其他部件的框架。

语法

这是一个创建此部件的简单语法:

Tk::Tile::Paned.new(root) {
   .....Standard Options....
   .....Widget Specific Options....
}

标准选项

  • 光标
  • 样式
  • 获取焦点

部件特定选项

序号 选项和说明
1

orient => 字符串

horizontalvertical 之一。指定分隔符的方向。

2

width => 整数

如果存在且大于零,则以像素指定部件的所需宽度。否则,请求的宽度由托管窗口的宽度确定。

3

height => 整数

如果存在且大于零,则以像素指定部件的所需高度。否则,请求的高度由托管窗口的高度确定。

操作窗格

  • 调用"add"方法将在窗格列表的末尾添加一个新的窗格。"insert position subwindow"方法允许您将窗格放置在窗格列表中的给定位置 (0..n-1);如果窗格已经被panedwindow管理,它将被移动到新的位置。您可以使用"forget subwindow"从panedwindow中移除一个窗格;您也可以传递位置而不是子窗口。

  • 其他选项允许您为每个窗格分配相对权重,以便如果整体panedwindow大小调整,某些窗格将获得比其他窗格更多的空间。同样,您可以调整panedwindow中每个项目之间滑块的位置。有关详细信息,请参阅命令参考

示例

require 'tk'
require 'tkextlib/tile'

$resultsVar = TkVariable.new
root = TkRoot.new
root.title = "Window"

p = Tk::Tile::Paned.new(root)do
   height 110
   place('height' => 100, 'width' => 200, 'x' => 10, 'y' => 10)
end

f1 = TkFrame.new(p) {
   relief 'groove'
   borderwidth 3
   background "red"
   padx 30
   pady 30
   pack('side' => 'left', 'pady' => 100)
}
f2 = TkFrame.new (p){
   relief 'groove'
   borderwidth 3
   background "yellow"
   padx 30
   pady 30
   pack('side' => 'right', 'pady' => 100)
}

p.add f1, nil
p.add f2, nil

Tk.mainloop

这将产生以下结果:

Ruby/Tk paned
ruby_tk_guide.htm
广告