GtkStack

说明 [src]

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

GtkStack 是一个容器,一次只显示一个子项。

GtkNotebook 相反,GtkStack 不提供供用户更改可见子项的方法。相反,可以将单独的小部件(如 GtkStackSwitcherGtkStackSidebar)与 GtkStack 结合使用来提供此功能。

页面之间的转换可以以幻灯片或淡入淡出的形式呈现动画。这可以使用 gtk_stack_set_transition_type()进行控制。这些动画遵循 GtkSettings:gtk-enable-animations 设置。

GtkStack 为每个添加的子项维护一个 GtkStackPage 对象,该对象保存每个子项的其他属性。你可以使用 gtk_stack_get_page() 获取子项的 GtkStackPage,使用 gtk_stack_get_pages() 获取包含所有页面的 GtkSelectionModel

作为 GtkBuildable 的 GtkStack

要在 .ui 文件中设置子项特定属性,请显式创建 GtkStackPage 对象,并将其子项小部件设置为其属性。

  <object class="GtkStack" id="stack">
    <child>
      <object class="GtkStackPage">
        <property name="name">page1</property>
        <property name="title">In the beginning…</property>
        <property name="child">
          <object class="GtkLabel">
            <property name="label">It was dark</property>
          </object>
        </property>
      </object>
    </child>

CSS 节点

GtkStack 设有一个名为 stack 的 CSS 节点。

无障碍

GtkStack 使用 GTK_ACCESSIBLE_ROLE_TAB_PANEL 来表示堆叠页面,而堆叠页面是子项小部件的可访问父对象。

层级

hierarchy this GtkStack implements_0 GtkAccessible this--implements_0 implements_1 GtkBuildable this--implements_1 implements_2 GtkConstraintTarget this--implements_2 ancestor_0 GtkWidget ancestor_0--this ancestor_1 GInitiallyUnowned ancestor_1--ancestor_0 ancestor_2 GObject ancestor_2--ancestor_1

构造函数

gtk_stack_new

创建新的 GtkStack

实例方法

gtk_stack_add_child

stack 添加一个子项。

gtk_stack_add_named

stack 添加一个子项。

gtk_stack_add_titled

stack 添加一个子项。

gtk_stack_get_child_by_name

根据参数给定名称找到子元素。

gtk_stack_get_hhomogeneous

获取 `stack` 是否横向同质。

gtk_stack_get_interpolate_size

返回 `GtkStack` 是否设置为在翻页时,插值计算子对象的尺寸大小。

gtk_stack_get_page

返回 `child` 对应的 `GtkStackPage` 对象。

gtk_stack_get_pages

返回包含该 stack 页面列表的 `GListModel`。

gtk_stack_get_transition_duration

返回 `stack` 中页面切换所需时间量(毫秒)。

gtk_stack_get_transition_running

返回 `stack` 当前是否从一个页面正处于切换到另一个页面的过程中。

gtk_stack_get_transition_type

获取 `stack` 中页面切换所使用的动画类型。

gtk_stack_get_vhomogeneous

获取 `stack` 是否纵向同质。

gtk_stack_get_visible_child

获取 `stack` 当前可见的子对象。

gtk_stack_get_visible_child_name

返回 `stack` 当前可见的子对象的名称。

gtk_stack_remove

从 `stack` 中删除一个子控件。

gtk_stack_set_hhomogeneous

设置 `GtkStack` 为横向同质或不横向同质。

gtk_stack_set_interpolate_size

设置 `stack` 是否在更改可见子对象时插值计算其大小。

gtk_stack_set_transition_duration

设置 `stack` 中页面切换所需时间。

gtk_stack_set_transition_type

设置 `stack` 中页面切换所使用的动画类型。

gtk_stack_set_vhomogeneous

设置 `GtkStack` 为纵向同质或不纵向同质。

gtk_stack_set_visible_child

使 `child` 成为 `stack` 的可见子对象。

gtk_stack_set_visible_child_full

使具有指定名称的子对象可见。

gtk_stack_set_visible_child_name

使具有指定名称的子对象可见。

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

属性

Gtk.Stack:hhomogeneous

如果堆栈为所有子级分配相同的宽度,则为 TRUE

Gtk.Stack:interpolate-size

在转换过程中大小是否平滑更改。

Gtk.Stack:pages

带有堆栈页面的选择模型。

Gtk.Stack:transition-duration

动画持续时间(以毫秒为单位)。

Gtk.Stack:transition-running

转换当前是否正在运行。

Gtk.Stack:transition-type

用于转换的动画类型。

Gtk.Stack:vhomogeneous

如果堆栈为所有子级分配相同的高度,则为 TRUE

Gtk.Stack:visible-child

堆栈中当前可见的小部件。

Gtk.Stack:visible-child-name

堆栈中当前可见小部件的名称。

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 实现的无障碍角色。

信号

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

notify 信号在对象的一个属性通过 g_object_set_property()、g_object_set() 等设置值时发出。