GtkColumnView

描述 [src]

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

GtkColumnView 使用具有标题的多列显示大动态项目列表。

GtkColumnView 使用其列的工厂为每个列、每个可见项目生成单元格小部件,并将其与此项目的行一起显示为一行。

GtkColumnView:show-row-separatorsGtkColumnView:show-column-separators 两个属性提供了一种简便的方法在行或列之间显示分隔符。

GtkColumnView 允许用户根据模型的选择特征选择项目。对于允许多个已选择项目的模型,可以使用 GtkColumnView:enable-rubberband 开启“橡皮筋选择”。

列视图支持排序,用户可以通过单击列标题自定义此排序。要设置此排序,必须将 gtk_column_view_get_sorter() 返回的 GtkSorter 附加到视图所显示的数据的排序模型,并且列必须通过调用 gtk_column_view_column_set_sorter() 附加排序器。可以使用 gtk_column_view_sort_by_column() 设置初始排序顺序。

列视图还支持拖放列标题的交互式缩放和重新排序。可用 GtkColumnView:reorderableGtkColumnViewColumn:resizable 属性来启用或禁用此功能。

要详细了解列表小组件框架,请参见 概述

CSS 节点

columnview[.column-separators][.rich-list][.navigation-sidebar][.data-table]
├── header
│   ├── <column header>
┊   ┊
│   ╰── <column header>
│
├── listview
│
┊
╰── [rubberband]

GtkColumnView 使用名为 columnview 的单个 CSS 节点。当 GtkColumnView:show-column-separators 属性设置时,它可能采用 .column-separators 样式类。头部小组件显示在名称为 header 的节点下方。行包含在 GtkListView 小组件中,因此存在与独立 GtkListView 小组件的结构相同的 listview 节点。如果设置 GtkColumnView:show-row-separators,它将传递给列表视图,从而导致其 CSS 节点采用 .separators 样式类。对于橡皮筋范围选择,使用名称为 rubberband 的节点。

主 columnview 节点也可以采用样式类选择 列表显示 的样式:.rich-list、.navigation-sidebar 或 .data-table。

可访问性

GtkColumnView 使用 GTK_ACCESSIBLE_ROLE_TREE_GRID 角色,头部标题小组件使用 GTK_ACCESSIBLE_ROLE_COLUMN_HEADER 角色。行小组件使用 GTK_ACCESSIBLE_ROLE_ROW 角色,各个单元格使用 GTK_ACCESSIBLE_ROLE_GRID_CELL 角色。

分层结构

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

构造函数

gtk_column_view_new

创建新的 GtkColumnView

实例方法

gtk_column_view_append_column

column 追加到 self 中的列尾。

gtk_column_view_get_columns

获取此列视图中的列列表。

gtk_column_view_get_enable_rubberband

返回是否可以使用鼠标拖动选择行。

gtk_column_view_get_header_factory

获取当前用于填充部分标题的工厂。

since: 4.12

gtk_column_view_get_model

获取当前用于读取显示项的模型。

gtk_column_view_get_reorderable

返回是否可以对列重新排序。

gtk_column_view_get_row_factory

获取通过 gtk_column_view_set_row_factory() 设置的工厂。

since: 4.12

gtk_column_view_get_show_column_separators

返回该列表是否应显示各列之间的分隔线。

gtk_column_view_get_show_row_separators

返回该列表是否应显示各行之间的分隔线。

gtk_column_view_get_single_click_activate

返回是否单击即可激活行,并且悬停即可选择行。

gtk_column_view_get_sorter

返回一个特殊排序器,反映用户在列视图中的排序选项。

gtk_column_view_get_tab_behavior

获取为 Tab 键设置的行为。

since: 4.12

gtk_column_view_insert_column

self 的列中给定位置插入一列。

gtk_column_view_remove_column

self 的列列表中移除 column

gtk_column_view_scroll_to

滚动到给定位置的行(或给定列的情况下的单元格),执行 flags 中指定的操作。

since: 4.12

gtk_column_view_set_enable_rubberband

设置能否通过鼠标拖动来更改选择。

gtk_column_view_set_header_factory

设置用于填充节头中所用 `GtkListHeader` 对象的 `GtkListItemFactory`。

since: 4.12

gtk_column_view_set_model

设置要使用的模型。

gtk_column_view_set_reorderable

设置是否可以通过拖动来对列进行重新排序。

gtk_column_view_set_row_factory

设置用于配置行的工厂。该工厂必须用于配置 `GtkColumnViewRow` 对象。

since: 4.12

gtk_column_view_set_show_column_separators

设置列表是否应显示列之间的分隔线。

gtk_column_view_set_show_row_separators

设置列表是否应显示行之间的分隔线。

gtk_column_view_set_single_click_activate

设置是否应在单击时激活行并在悬停时选中。

gtk_column_view_set_tab_behavior

设置 TabShift+Tab 键的行为。

since: 4.12

gtk_column_view_sort_by_column

设置视图排序。

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

GtkScrollable(9)继承的方法
gtk_scrollable_get_border

返回可滚动对象外边框的非滚动区域的大小。

gtk_scrollable_get_hadjustment

检索用于水平滚动的 GtkAdjustment

gtk_scrollable_get_hscroll_policy

获取水平 GtkScrollablePolicy

gtk_scrollable_get_vadjustment

检索用于垂直滚动的 GtkAdjustment

gtk_scrollable_get_vscroll_policy

获取垂直 GtkScrollablePolicy

gtk_scrollable_set_hadjustment

设置 GtkScrollable 的水平调整。

gtk_scrollable_set_hscroll_policy

设置 GtkScrollablePolicy

gtk_scrollable_set_vadjustment

设置 GtkScrollable 的垂直调整。

gtk_scrollable_set_vscroll_policy

设置 GtkScrollablePolicy

属性

Gtk.ColumnView:columns

列的列表。

Gtk.ColumnView:enable-rubberband

允许橡皮筋选择。

Gtk.ColumnView:header-factory

创建页眉小部件的工厂。

since: 4.12

Gtk.ColumnView:model

显示的项目的模型。

Gtk.ColumnView:reorderable

是否允许重新排序列。

Gtk.ColumnView:row-factory

用于配置行的工厂。

since: 4.12

Gtk.ColumnView:show-column-separators

显示列之间的分隔符。

Gtk.ColumnView:show-row-separators

显示行之间的分隔符。

Gtk.ColumnView:single-click-activate

单击激活行并在悬停时选择它们。

Gtk.ColumnView:sorter

带用户排序选择的排序器。

Gtk.ColumnView:tab-behavior

Tab 键的行为。

since: 4.12

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

启用或禁用 widgetGtkWidget::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 实现的可访问角色。

GtkScrollable 继承的属性(4 个)
GtkScrollable:hadjustment

可滚动部件的水平 GtkAdjustment

GtkScrollable:hscroll-policy

决定在何时应启动水平滚动。

GtkScrollable:vadjustment

可滚动部件的垂直 GtkAdjustment

GtkScrollable:vscroll-policy

确定在何时应启动垂直滚动。

信号

Gtk.ColumnView::activate

通常是通过激活 GtkListBase|list.activate-item 操作,当一行内容被用户激活时发出。

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() 等函数设置值时,notify 信号就会在该对象上发出。

类结构

struct GtkColumnViewClass {
  /* no available fields */
}

没有可用的说明。