类
GtkTreeExpander
描述 [src]
final class Gtk.TreeExpander : Gtk.Widget
implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}
GtkTreeExpander
是一个为列表提供扩展功能的小部件。
它通常作为 GtkListView
的最底层子项放置,以允许用户在带有 GtkTreeListModel
的列表中展开和折叠子项。 GtkTreeExpander
为此目的提供了常见的UI元素、手势和键绑定。
除此之外,还提供了“listitem.expand”、“listitem.collapse”和“listitem.toggle-expand”操作,以允许添加用于管理已扩展状态的自定义UI。
值得一提的是,使用此小部件时,您需要将 GtkListItem:focusable
属性设置为FALSE,因为您希望键盘焦点位于扩展器中,而不是列表中以使用键绑定。
GtkTreeListModel
必须设置为非直通。然后它将提供 GtkTreeListRow
项,这些项可以通过扩展器上的 gtk_tree_expander_set_list_row()
设置。然后,扩展器将自动监视该行项。 gtk_tree_expander_set_child()
设置显示实际行内容的小部件。
GtkTreeExpander
可以使用属性(如 GtkTreeExpander:indent-for-icon
、 GtkTreeExpander:indent-for-depth
和 GtkTreeExpander:hide-expander
)进行修改,以实现不同的外观。甚至可以通过此方法影响各个行,例如将 GtkTreeExpander:hide-expander
属性绑定到列表行模型的项目计数,以隐藏没有子项的行扩展器,即使该行是可扩展的。.
快捷方式和手势
GtkTreeExpander
控件支持下列键盘快捷键
- + 或 * 展开扩展器。
- - 或 / 折叠扩展器。
- 与 Shift 或 Ctrl+Shift 结合使用时,左右箭头键将根据当前区域的文本方向,进行展开或折叠。
- Ctrl+␣ 切换扩展器状态。
该行还可以通过拖拽手势扩展。
操作
GtkTreeExpander
定义了一组内建操作
listitem.展开
如果可扩展,则展开扩展器。listitem.折叠
折叠扩展器。listitem.切换扩展
如果扩展器已折叠,则尝试展开它,如果已展开,则尝试折叠它。
CSS 节点
treeexpander
├── [indent]*
├── [expander]
╰── <child>
GtkTreeExpander
具有零个或一个名为“expander”的CSS 节点,它将显示扩展器图标。扩展后,该节点将变为:checked
。如果该节点不可扩展,则会显示一个“ident”节点代替它。
对于每个深度级别,都会前置另一个“ident”节点。
无障碍
在GTK 4.10 之前,GtkTreeExpander
使用GTK_ACCESSIBLE_ROLE_GROUP
角色。
从GTK 4.12 开始,GtkTreeExpander
改用GTK_ACCESSIBLE_ROLE_BUTTON
角色。切换该角色将改变GTK_ACCESSIBLE_STATE_EXPANDED
状态。
实例方法
从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.TreeExpander:hide-expander
指定是否在 GtkTreeListRow 中隐藏扩展器图标。请注意,此属性仅可隐藏图标。此属性不会影响操作和键盘绑定(即折叠和展开)。
自:4.10 起
从 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) 中继承的属性
信号
从 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
当 widget
与 GdkSurface
关联时发出。
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 信号会发出。