Ruby/TK - 窗格窗口小部件


Panedwindow小部件允许您在彼此上方和下方(左侧和右侧)堆叠两个或多个可调整大小的小部件。

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

句法

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

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

标准选项

  • 班级
  • 光标
  • 风格
  • 聚焦

小部件特定选项

先生。 选项和说明
1

东方=> 字符串

水平垂直之一。指定分隔符的方向。

2

宽度=> 整数

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

3

高度=> 整数

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

操纵窗格

  • 调用“add”方法将在窗格列表的末尾添加一个新窗格。“插入位置子窗口方法允许您将窗格放置在窗格列表中的给定位置(0..n-1);如果窗格已经由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 窗格
ruby_tk_guide.htm