GtkFlowBox

描述 [源代码]

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

一个 GtkFlowBox 将子控件放入回流网格中。

举例来说,对于水平方向,将从左到右排列小组件,必要时在新行下开始新一行。在这种情况下,减小宽度将需要更多行,因此会请求更大的高度。

同样地,对于垂直方向,将从上到下排列小组件,必要时在右侧开始新列。减小高度将需要更多列,因此会请求更大的宽度。

GtkFlowBox 本身的大小请求可能不是你所期望的;如果你需要能够沿两个轴对其进行缩小并动态地对子元素重新排列,则可能必须将其包装在 GtkScrolledWindow 中以实现此目的。

GtkFlowBox 的子元素可以动态排序和过滤。

尽管 GtkFlowBox 必须只有 GtkFlowBoxChild 子项,但是你可以通过 gtk_flow_box_insert() 为它添加任何类型的窗口小部件,GtkFlowBoxChild 窗口小部件将自动插入框和小部件之间。

另请参阅 GtkListBox

快捷方式和手势

以下信号有默认键绑定

CSS 节点

flowbox
├── flowboxchild
│   ╰── <child>
├── flowboxchild
│   ╰── <child>
┊
╰── [rubberband]

GtkFlowBox 使用一个名为 flowbox 的单个 CSS 节点。GtkFlowBoxChild 使用一个名为 flowboxchild 的单个 CSS 节点。橡胶筋选择器将使用一个名为 rubberband 的子节点。

辅助功能

GtkFlowBox 使用 GTK_ACCESSIBLE_ROLE_GRID 角色,而 GtkFlowBoxChild 使用 GTK_ACCESSIBLE_ROLE_GRID_CELL 角色。

层级

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

构造函数

gtk_flow_box_new

创建 GtkFlowBox

实例方法

gtk_flow_box_append

child 添加到 self 的末尾。

自:4.6

gtk_flow_box_bind_model

model 绑定到 box

gtk_flow_box_get_activate_on_single_click

返回子项是否在单击时激活。

gtk_flow_box_get_child_at_index

获取 box 中的第 n 个子项。

gtk_flow_box_get_child_at_pos

获取处于 (x, y) 位置的子项。

gtk_flow_box_get_column_spacing

获取水平间距。

gtk_flow_box_get_homogeneous

返回该框是否均匀。

gtk_flow_box_get_max_children_per_line

获取每行的子项的最大数量。

gtk_flow_box_get_min_children_per_line

获取每行的子项的最小数量。

gtk_flow_box_get_row_spacing

获取垂直间距。

gtk_flow_box_get_selected_children

创建所有选定子项的清单。

gtk_flow_box_get_selection_mode

获取 box 的选择模式。

gtk_flow_box_insert

widget position 处插入 box

gtk_flow_box_invalidate_filter

为所有子项更新过滤。

gtk_flow_box_invalidate_sort

为所有子项更新排序。

gtk_flow_box_prepend

child 添加到 self 的开头。

自:4.6

gtk_flow_box_remove

box 中删除子项。

gtk_flow_box_remove_all

box 中删除所有子项。

自:4.12

gtk_flow_box_select_all

如果选择模式允许,请选择 box 的所有子项。

gtk_flow_box_select_child

如果选择模式允许,选择 box 的一个子项。

gtk_flow_box_selected_foreach

为每个选定的子项调用一个函数。

gtk_flow_box_set_activate_on_single_click

如果 singleTRUE,当你点击子项时,子项将被激活;否则,你需要双击。

gtk_flow_box_set_column_spacing

设置子项之间添加的水平空间。

gtk_flow_box_set_filter_func

通过设置 box 中的过滤器函数,我们可以动态决定显示哪些子项。

gtk_flow_box_set_hadjustment

将调整项连接到 box 中的焦点处理中。

gtk_flow_box_set_homogeneous

设置 box 中的所有子项在框中是否分配相等的空间。

gtk_flow_box_set_max_children_per_line

设置 box 的方向中请求和分配空间的子项的最大数量。

gtk_flow_box_set_min_children_per_line

设置在换行之前要排列在 box 的方向中的子项的最小数量。

gtk_flow_box_set_row_spacing

设置在子组件间添加的垂直空间。

gtk_flow_box_set_selection_mode

设置在 `box` 中如何进行选择。

gtk_flow_box_set_sort_func

通过在 `box` 上设置排序功能,可以基于子组件的内容动态重新排序 box 的子组件。

gtk_flow_box_set_vadjustment

将调整项连接到 box 中的焦点处理中。

gtk_flow_box_unselect_all

取消选择 `box` 的所有子组件,如果选择模式允许的话。

gtk_flow_box_unselect_child

取消选择 `box` 的一个子组件,如果选择模式允许的话。

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

查询此 accessible 的坐标和维度。

始于:4.10

gtk_accessible_get_first_accessible_child

检索无障碍对象的第一个无障碍 子组件。

始于:4.10

gtk_accessible_get_next_accessible_sibling

检索无障碍对象的下一个无障碍 兄弟组件。

始于:4.10

gtk_accessible_get_platform_state

查询平台状态,例如 focus。

始于: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.FlowBox:accept-unpaired-release

是否接受未配对的释放 事件。

Gtk.FlowBox:activate-on-single-click

确定子组件是可通过单击激活还是需要 双击。

Gtk.FlowBox:column-spacing

两个 子组件之间的水平空间量。

Gtk.FlowBox:homogeneous

确定所有子组件是否应被分配相同的 大小。

Gtk.FlowBox:max-children-per-line

在给定 方向中连续请求空间的子组件的最大量。

Gtk.FlowBox:min-children-per-line

在给定 方向中连续分配的子组件的最小量。

Gtk.FlowBox:row-spacing

两个 子组件之间的垂直空间量。

Gtk.FlowBox:selection-mode

流 box 使用的选择模式。

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

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

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.FlowBox::activate-cursor-child

当用户激活 box 时发送。

Gtk.FlowBox::child-activated

当一个子项被 用户激活时发送。

Gtk.FlowBox::move-cursor

当用户启动光标 移动时发送。

Gtk.FlowBox::select-all

如果选择模式允许,将发出以选择框的所有子级。

Gtk.FlowBox::selected-children-changed

当所选子级集合发生变化时发出。

Gtk.FlowBox::toggle-cursor-child

发出以切换具有焦点的子级的选择。

Gtk.FlowBox::unselect-all

如果选择模式允许,将发出以取消选择框的所有子项。

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

向小部件的所有者的参考持有人发出信号,释放他们持有的参考。

GtkWidget::direction-changed

发出时小部件的文本方向发生变化。

GtkWidget::hide

发出当widget隐藏时。

GtkWidget::keynav-failed

如果键盘导航失败,发出。

GtkWidget::map

发出当widget即将被映射时。

GtkWidget::mnemonic-activate

从小部件通过助记符激活时发出。

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() 等进行值设置时,会发出通知信号。