GtkPaned

描述 [src]

final class Gtk.Paned : Gtk.Widget
  implements Gtk.Accessible, Gtk.AccessibleRange, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable {
  /* No available fields */
}

带有两个窗格的小组件,水平或垂直排列。

An example GtkPaned

用户可以通过拖动一个控制手柄来调整两个窗格之间的分隔。

子小组件通过 gtk_paned_set_start_child()gtk_paned_set_end_child() 添加到小组件的窗格。两个子组件之间的分隔默认根据子组件的大小请求进行设置,但用户可以调整它。

如果缺少其中一个子组件,则不会绘制分隔符。一个 paned 小组件在两个子组件之间绘制一个分隔符和一个用于调整分隔的小控制手柄。它不会在子组件或分隔符周围绘制任何凸起。(分隔符所在的区域称为槽。)通常,将每个子组件放入 GtkFrame 中非常有用,这样槽就会显示为一个脊。如果没有,则不绘制分隔符。

每个子项都可以设置两个选项,“调整大小”和“收缩”。如果“调整大小”为 true,则当 GtkPaned 大小时,该子项将随着窗格小部件一起展开或收缩。如果“收缩”为 true,则用户可以使该子项小于其请示。将“收缩”设置为 false 允许应用程序设置最小大小。如果两个子项的“调整大小”都是 false,则视为两个子项都将“调整大小”设置为 true。

应用程序可以通过调用 gtk_paned_set_position() 设置滑块的位置,就像由用户设置一样。

快捷键和手势

以下信号具有默认的键位绑定

CSS 节点

paned
├── <child>
├── separator[.wide]
╰── <child>

GtkPaned 有一个带有名称 paned 的主 CSS 节点,和一个带有名称 separator 的分隔符子节点。如果窗格应该变宽,该子节点会获取一个 .wide 样式类。

在水平方向上,这些节点将根据文本方向进行排列,因此在从左到右模式中,:first-child 将选择最左边的子项,而在 RTL 布局中,它将选择最右边的子项。

创建具有最小大小的窗格小部件。

GtkWidget *hpaned = gtk_paned_new (GTK_ORIENTATION_HORIZONTAL);
GtkWidget *frame1 = gtk_frame_new (NULL);
GtkWidget *frame2 = gtk_frame_new (NULL);

gtk_widget_set_size_request (hpaned, 200, -1);

gtk_paned_set_start_child (GTK_PANED (hpaned), frame1);
gtk_paned_set_resize_start_child (GTK_PANED (hpaned), TRUE);
gtk_paned_set_shrink_start_child (GTK_PANED (hpaned), FALSE);
gtk_widget_set_size_request (frame1, 50, -1);

gtk_paned_set_end_child (GTK_PANED (hpaned), frame2);
gtk_paned_set_resize_end_child (GTK_PANED (hpaned), FALSE);
gtk_paned_set_shrink_end_child (GTK_PANED (hpaned), FALSE);
gtk_widget_set_size_request (frame2, 50, -1);

层次结构

hierarchy this GtkPaned implements_0 GtkAccessible this--implements_0 implements_1 GtkAccessibleRange this--implements_1 implements_2 GtkBuildable this--implements_2 implements_3 GtkConstraintTarget this--implements_3 implements_4 GtkOrientable this--implements_4 ancestor_0 GtkWidget ancestor_0--this ancestor_1 GInitiallyUnowned ancestor_1--ancestor_0 ancestor_2 GObject ancestor_2--ancestor_1

构造函数

gtk_paned_new

创建新的 GtkPaned 小部件。

实例方法

gtk_paned_get_end_child

检索给定 GtkPaned 的最后一个子项。

gtk_paned_get_position

获取两个窗格之间的分隔线的位置。

gtk_paned_get_resize_end_child

返回 GtkPaned:end-child 是否可以调整大小。

gtk_paned_get_resize_start_child

返回 GtkPaned:start-child 是否可以调整大小。

gtk_paned_get_shrink_end_child

返回 GtkPaned:end-child 是否可以收缩。

gtk_paned_get_shrink_start_child

返回 GtkPaned:start-child 是否可以收缩。

gtk_paned_get_start_child

检索给定 GtkPaned 的第一个子项。

gtk_paned_get_wide_handle

获取分隔符是否应该变宽。

gtk_paned_set_end_child

paned 的最后一个子项设置为 child

gtk_paned_set_position

设置两个窗格之间的分隔线的位置。

gtk_paned_set_resize_end_child

设置 GtkPaned:end-child 是否可以调整大小。

gtk_paned_set_resize_start_child

设置 GtkPaned:start-child 是否可以调整大小。

gtk_paned_set_shrink_end_child

设置 GtkPaned:end-child 是否可以收缩。

gtk_paned_set_shrink_start_child

设置 GtkPaned:start-child 是否可以收缩。

gtk_paned_set_start_child

paned 的第一个子项设置为 child

gtk_paned_set_wide_handle

设置分隔符是否应该变宽。

GtkWidget 继承的方法 (162)

有关所有方法的完整列表,请参见 GtkWidget

GObject 继承的方法 (43)

有关方法的完整列表,请参见 GObject

GtkAccessible 继承的方法 (19)
gtk_accessible_announce

请求用户的屏幕阅读器播报给定的消息。

自:4.14

gtk_accessible_get_accessible_parent

检索可访问对象的父可访问对象。

自:4.10

gtk_accessible_get_accessible_role

检索可访问对象的访问角色。

gtk_accessible_get_at_context

检索给定的可访问对象的实现。

自:4.10

gtk_accessible_get_bounds

查询此可访问对象的坐标和维度。

自:4.10

gtk_accessible_get_first_accessible_child

检索可访问对象的第一个可访问子对象。

自:4.10

gtk_accessible_get_next_accessible_sibling

检索可访问对象的下一个可访问兄弟对象。

自:4.10

gtk_accessible_get_platform_state

查询平台状态,如焦点。

自:4.10

gtk_accessible_reset_property

将可访问属性重置为其默认值。

gtk_accessible_reset_relation

将可访问关系重置为其默认值。

gtk_accessible_reset_state

将可访问状态重置为其默认值。

gtk_accessible_set_accessible_parent

设置可访问对象的父级和兄弟级。

自:4.10

gtk_accessible_update_next_accessible_sibling

更新下一个可访问的兄弟姐妹。

自:4.10

gtk_accessible_update_property

更新可访问属性列表。

gtk_accessible_update_property_value

更新可访问属性数组。

gtk_accessible_update_relation

更新可访问关系列表。

gtk_accessible_update_relation_value

更新可访问关系数组。

gtk_accessible_update_state

更新可访问状态列表。

gtk_accessible_update_state_value

更新可访问状态数组。

GtkBuildable 继承的方法 (1)
gtk_buildable_get_buildable_id

获取 buildable 对象的 ID

GtkOrientable 继承的方法 (2)
gtk_orientable_get_orientation

检索 orientable 的方向。

gtk_orientable_set_orientation

设置 orientable 的方向。

属性

Gtk.Paned:end-child

次级子级。

Gtk.Paned:max-position

GtkPaned:position 属性可能的最大值。

Gtk.Paned:min-position

GtkPaned:position 属性可能的最小值。

Gtk.Paned:position

从左/顶部分隔符的位置,以像素为单位。

Gtk.Paned:position-set

是否设置了 GtkPaned:position 属性。

Gtk.Paned:resize-end-child

确定第二级子级是否随 Paned 小组件一起扩展和收缩。

Gtk.Paned:resize-start-child

确定第一级子级是否随 Paned 小组件一起扩展和收缩。

Gtk.Paned:shrink-end-child

确定第二级子级是否可以变小,使其小于其征用。

Gtk.Paned:shrink-start-child

确定第一级子级是否可以变小,使其小于其征用。

Gtk.Paned:start-child

首个子级。

Gtk.Paned:wide-handle

GtkPaned 是否应提供更强的视觉分离。

GtkWidget 继承的属性 (34)
Gtk.Widget:can-focus

该小组件或其任何后代是否可以接受输入焦点。

Gtk.Widget:can-target

该小组件是否可接收指针事件。

Gtk.Widget:css-classes

应用于此小组件的 css 类的列表。

Gtk.Widget:css-name

此窗口小组件在 CSS 树中的名称。

Gtk.Widget:cursor

widget 使用的游标。

Gtk.Widget:focus-on-click

用鼠标单击时,小组件是否应获取焦点。

Gtk.Widget:focusable

此小组件本身是否接受输入焦点。

Gtk.Widget:halign

如果窗口小组件获得额外空间,如何分配水平空间。

Gtk.Widget:has-default

该小组件是否是默认小组件。

Gtk.Widget:has-focus

小组件是否有输入焦点。

Gtk.Widget:has-tooltip

启用或禁用 `GtkWidget::query-tooltip` 信号在 `widget` 上的发送。

Gtk.Widget:height-request

覆盖小组件的高度请求。

Gtk.Widget:hexpand

是否水平展开。

Gtk.Widget:hexpand-set

是否使用 `hexpand` 属性。

Gtk.Widget:layout-manager

用于计算小组件的首选大小并分配其子组件的 `GtkLayoutManager` 实例。

Gtk.Widget:margin-bottom

小组件底部的外边距。

Gtk.Widget:margin-end

水平方向上小组件末尾的外边距。

Gtk.Widget:margin-start

水平方向上小组件开头的外边距。

Gtk.Widget:margin-top

小组件顶部的外边距。

Gtk.Widget:name

小组件的名称。

Gtk.Widget:opacity

小组件请求的不透明度。

Gtk.Widget:overflow

如何处理小组件内容区域之外的内容。

Gtk.Widget:parent

该小组件的父小组件。

Gtk.Widget:receives-default

当小组件获得焦点时,它是否会接收默认动作。

Gtk.Widget:root

包含该小组件的小组件树的 `GtkRoot` 小组件。

Gtk.Widget:scale-factor

小组件的比例因子。

Gtk.Widget:sensitive

该小组件是否响应输入。

Gtk.Widget:tooltip-markup

将工具提示的文本设置为给定的字符串,该字符串用 Pango 标记语言标记。

Gtk.Widget:tooltip-text

将工具提示的文本设置为给定的字符串。

Gtk.Widget:valign

如果小组件获得额外的空间,如何分配垂直空间。

Gtk.Widget:vexpand

是否垂直展开。

Gtk.Widget:vexpand-set

是否使用 `vexpand` 属性。

Gtk.Widget:visible

小组件是否可见。

Gtk.Widget:width-request

覆盖小组件的宽度请求。

GtkAccessible(1)继承的属性
GtkAccessible:accessible-role

给定的 `GtkAccessible` 实现的可访问角色。

GtkOrientable(1)继承的属性
GtkOrientable:orientation

可定向组件的方向。

信号

Gtk.Paned::accept-position

在使用键绑定移动它时发送,以便接受拉杆的当前位置。

Gtk.Paned::cancel-position

在使用键绑定移动拉杆的位置时发送,以便取消位置。

Gtk.Paned::cycle-child-focus

发送,以便在窗格的子组件之间循环焦点。

Gtk.Paned::cycle-handle-focus

发送,以便循环窗格是否应该获取焦点以使用键绑定允许用户更改拉杆的位置。

Gtk.Paned::move-handle

发送,以便使用键绑定移动拉杆。

Gtk.Paned::toggle-handle-focus

发送,以便接受拉杆的当前位置,然后再将焦点移动到焦点链中的下一个小组件。

GtkWidget(13)继承的信号
GtkWidget::destroy

对于小组件的任何引用持有人,信号都会发出让他们释放所持有的引用。

GtkWidget::direction-changed

小组件的文本方向发生更改时发送。

GtkWidget::hide

当 `widget` 隐藏时发送。

GtkWidget::keynav-failed

如果键盘导航失败,则发送。

GtkWidget::map

当 `widget` 即将映射时发送。

GtkWidget::mnemonic-

通过助记符激活小工具时发出。

GtkWidget::move-focus

移动焦点时发出。

GtkWidget::query-tooltip

小工具的工具提示即将显示时发出。

GtkWidget::realize

widgetGdkSurface 关联时发出。

GtkWidget::show

widget 显示时发出。

GtkWidget::state-flags-changed

小工具状态改变时发出。

GtkWidget::unmap

widget 即将取消映射时发出。

GtkWidget::unrealize

widget 关联的 GdkSurface 被销毁时发出。

GObject 继承的信号 (1)
GObject::notify

当一个对象的某个属性通过 g_object_set_property()、g_object_set() 等设置值时,会在该对象上发出通知信号。