类
GtkListView
描述 [src]
final class Gtk.ListView : Gtk.ListBase
implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget, Gtk.Orientable, Gtk.Scrollable {
/* No available fields */
}
GtkListView
展示一个动态的、项数多的列表。
GtkListView
使用其工厂为每个可见项生成一个行小组件,并以线性展示方式展示它们,无论是垂直还是水平展示。
GtkListView:show-separators
属性提供了一种简单的方式,可以在行之间展示分隔符。
GtkListView
允许用户根据模型的选择特性选择项。对于允许多项选择的模型,可以使用 GtkListView:enable-rubberband
打开“橡皮筋选择”。
如果你需要带标题的多栏,请参阅 GtkColumnView
。
要了解有关列表小组件框架的更多信息,请参阅 概述。
使用 GtkListView
的示例
static void
setup_listitem_cb (GtkListItemFactory *factory,
GtkListItem *list_item)
{
GtkWidget *image;
image = gtk_image_new ();
gtk_image_set_icon_size (GTK_IMAGE (image), GTK_ICON_SIZE_LARGE);
gtk_list_item_set_child (list_item, image);
}
static void
bind_listitem_cb (GtkListItemFactory *factory,
GtkListItem *list_item)
{
GtkWidget *image;
GAppInfo *app_info;
image = gtk_list_item_get_child (list_item);
app_info = gtk_list_item_get_item (list_item);
gtk_image_set_from_gicon (GTK_IMAGE (image), g_app_info_get_icon (app_info));
}
static void
activate_cb (GtkListView *list,
guint position,
gpointer unused)
{
GAppInfo *app_info;
app_info = g_list_model_get_item (G_LIST_MODEL (gtk_list_view_get_model (list)), position);
g_app_info_launch (app_info, NULL, NULL, NULL);
g_object_unref (app_info);
}
...
model = create_application_list ();
factory = gtk_signal_list_item_factory_new ();
g_signal_connect (factory, "setup", G_CALLBACK (setup_listitem_cb), NULL);
g_signal_connect (factory, "bind", G_CALLBACK (bind_listitem_cb), NULL);
list = gtk_list_view_new (GTK_SELECTION_MODEL (gtk_single_selection_new (model)), factory);
g_signal_connect (list, "activate", G_CALLBACK (activate_cb), NULL);
gtk_scrolled_window_set_child (GTK_SCROLLED_WINDOW (sw), list);
动作
GtkListView
定义了一组内置动作
list.activate-item
通过发出GtkListView::activate
信号来激活指定位置的项。
CSS 节点
listview[.separators][.rich-list][.navigation-sidebar][.data-table]
├── row[.activatable]
│
├── row[.activatable]
│
┊
╰── [rubberband]
GtkListView
使用一个名叫 listview
的单个 CSS 节点。当设置 GtkListView:show-separators
属性时,它可能带有 .separators
样式类。每个子小组件使用一个名叫 row
的单个 CSS 节点。如果设置 GtkListItem:activatable
属性,则相应的行将具有 .activatable
样式类。对于橡皮筋选择,将使用带有名称 rubberband
的节点。
主列表视图节点还可以携带样式类以选择列表显示样式:.rich-list、.navigation-sidebar 或 .data-table。
辅助功能
GtkListView
使用 GTK_ACCESSIBLE_ROLE_LIST
角色,并且列表项使用 GTK_ACCESSIBLE_ROLE_LIST_ITEM
角色。
实例方法
从 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)继承的方法
从 GtkOrientable (2)继承的方法
从 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
。
属性
从 GtkListBase (1)继承的属性
从 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)继承的属性
从 GtkOrientable(1)继承的属性
从 GtkScrollable(4)继承的属性
GtkScrollable:hadjustment
可滚动控件的水平 `GtkAdjustment`。
GtkScrollable:hscroll-policy
确定何时应开始水平滚动。
GtkScrollable:vadjustment
可滚动控件的垂直 `GtkAdjustment`。
GtkScrollable:vscroll-policy
确定何时应开始垂直滚动。
信号
从 GtkWidget(13)继承的信号
GtkWidget::destroy
发出信号,表示所有持有控件引用的人都应释放他们持有的引用。
GtkWidget::direction-changed
控件的文本方向更改时发出信号。
GtkWidget::hide
控件隐藏时发出信号。
GtkWidget::keynav-failed
如果键盘导航失败,则发出信号。
GtkWidget::map
控件即将映射时发出信号。
GtkWidget::mnemonic-activate
通过助记符激活控件时发出信号。
GtkWidget::move-focus
焦点移动时发出信号。
GtkWidget::query-tooltip
控件的工具提示即将显示时发出信号。
GtkWidget::realize
将 `widget` 与 `GdkSurface` 关联时发出信号。
GtkWidget::show
控件显示时发出信号。
GtkWidget::state-flags-changed
控件状态更改时发出信号。
GtkWidget::unmap
控件即将取消映射时发出信号。
GtkWidget::unrealize
如果与 widget
关联的 GdkSurface
被销毁,则会发出此信号。
从 GObject (1) 继承的信号
GObject::notify
当对象的某个属性的值通过 g_object_set_property()、g_object_set() 等设置后,将会在对象上发出 notify 信号。