类
Gtk笔记本
描述 [src]
final class Gtk.Notebook : Gtk.Widget
implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}
GtkNotebook
是一种容器,用户可以用标签在子项页面间切换。
GtkNotebook
有许多配置选项。除了其他选项之外,您还可以选择标签显示在哪条边上(参见 gtk_notebook_set_tab_pos()
),如果标签太多而放不下,是将笔记本做得更大还是添加滚动箭头(参见 gtk_notebook_set_scrollable()
),以及是否会有允许用户切换页面的弹出菜单。(参见 gtk_notebook_popup_enable()
)。
作为 GtkBuildable 的 GtkNotebook
GtkNotebook
对 GtkBuildable
接口的实现支持将子项放入标签中,方法是将“标签”指定为 <child>
元素的“类型”属性。请注意,必须先创建标签的内容,才能填充标签。可以指定一个标签子项,而不指定 <child>
类型属性。
要在笔记本操作区域中添加一个子项小组件,请将“操作开始”或“操作结束”指定为 <child>
元素的“类型”属性。
带有 GtkNotebook
的 UI 定义片段示例
<object class="GtkNotebook">
<child>
<object class="GtkLabel" id="notebook-content">
<property name="label">Content</property>
</object>
</child>
<child type="tab">
<object class="GtkLabel" id="notebook-tab">
<property name="label">Tab</property>
</object>
</child>
</object>
快捷方式和手势
GtkNotebook
支持以下键盘快捷方式
- Shift+F10 或 Menu 打开上下文菜单。
- Home 将焦点移至第一个标签。
- End 将焦点移至最后一个标签。
此外,以下信号具有默认键位绑定
GtkNotebook::change-current-page
GtkNotebook::focus-tab
GtkNotebook::move-focus-out
GtkNotebook::reorder-tab
GtkNotebook::select-page
标签支持在具有相同 group-name
的笔记本之间拖放,或者通过处理 ::create-window
信号来拖放到新窗口。
操作
GtkNotebook
定义了一组内置操作
menu.popup
打开选项卡上下文菜单。
CSS 节点
notebook
├── header.top
│ ├── [<action widget>]
│ ├── tabs
│ │ ├── [arrow]
│ │ ├── tab
│ │ │ ╰── <tab label>
┊ ┊ ┊
│ │ ├── tab[.reorderable-page]
│ │ │ ╰── <tab label>
│ │ ╰── [arrow]
│ ╰── [<action widget>]
│
╰── stack
├── <child>
┊
╰── <child>
GtkNotebook
有一个名称为 notebook
的主 CSS 节点,一个名称为 header
的子节点,以及在其下面一个名称为 tabs
的子节点,其中包含一个名称为 tab
的每个选项卡的子节点。
如果存在操作小组件,它们的 CSS 节点将放置在 tabs
节点的旁边。如果笔记本是可以滚动的,名称为 arrow
的 CSS 节点将作为 tabs
节点的第一个和最后一个子项放置。
当笔记本有边框时(请参阅 gtk_notebook_set_show_border()
),主节点获取 .frame
样式类。
根据标签放置的位置,头节点获取 .top
、.bottom
、.left
或 .right
之一作为样式类。对于可重新排序的页面,标签节点获取 .reorderable-page
类。
tab
节点在通过拖放移动时获取 .dnd
样式类。
无论文本方向如何,这些节点总是从左到右排列。
辅助功能
GtkNotebook
使用以下角色
GTK_ACCESSIBLE_ROLE_GROUP
用于笔记本小组件GTK_ACCESSIBLE_ROLE_TAB_LIST
用于标签列表GTK_ACCESSIBLE_ROLE_TAB
角色用于每个标签GTK_ACCESSIBLE_ROLE_TAB_PANEL
用于每页。
实例方法
从 GtkAccessible (19) 继承的方法
gtk_accessible_announce
请求用户的屏幕阅读器宣布给定消息。
since: 4.14
gtk_accessible_get_accessible_parent
检索可访问对象的父级可访问对象。
since: 4.10
gtk_accessible_get_accessible_role
检索可访问对象的访问角色。
gtk_accessible_get_at_context
检索给定可访问对象的实现。
since: 4.10
gtk_accessible_get_bounds
查询此可访问对象的坐标和尺寸。
since: 4.10
gtk_accessible_get_first_accessible_child
检索可访问对象的第一个子可访问对象。
since: 4.10
gtk_accessible_get_next_accessible_sibling
检索可访问对象的下一个兄弟可访问对象。
since: 4.10
gtk_accessible_get_platform_state
查询平台状态,例如焦点。
since: 4.10
gtk_accessible_reset_property
将可访问属性重置为其默认值。
gtk_accessible_reset_relation
将可访问关系重置为其默认值。
gtk_accessible_reset_state
将可访问状态重置为其默认值。
gtk_accessible_set_accessible_parent
设置可访问对象的父级和兄弟级。
since: 4.10
gtk_accessible_update_next_accessible_sibling
更新下一个可访问的兄弟级。
since: 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) 继承的方法
属性
从 GtkWidget (34) 继承的属性
Gtk.Widget:can-focus
小部件或其任何后代是否可以接受输入焦点。
Gtk.Widget:can-target
小部件是否可以接收指针事件。
Gtk.Widget:css-classes
应用于此小部件的一系列 css 类。
Gtk.Widget:css 样式名称
这个控件在 CSS 树中的名称。
Gtk.Widget:光标
代码块使用的光标。
Gtk.Widget:点击即可获得焦点
当用鼠标点击小组件时,小组件是否应该获得焦点。
Gtk.Widget:可获得焦点
此小组件本身是否会接收输入焦点。
Gtk.Widget:水平对齐
如果小组件获得额外空间,则如何分配水平空间。
Gtk.Widget:是否有默认值
小组件是否是默认小组件。
Gtk.Widget:是否有焦点
小组件是否具有输入焦点。
Gtk.Widget:是否有工具提示
启用或禁用对小组件上 GtkWidget::query-tooltip
信号的发送。
Gtk.Widget:高度要求
小组件高度要求的覆盖项。
Gtk.Widget:水平扩展
是否水平扩展。
Gtk.Widget:水平扩展设置
是否使用 hexpand
属性。
Gtk.Widget:布局管理器
要用于计算小组件的首选大小并分配其子项的 GtkLayoutManager
实例。
Gtk.Widget:下边距
小组件底侧的边距。
Gtk.Widget:末尾边距
水平方向上小组件末尾的边距。
Gtk.Widget:起始边距
水平方向上小组件起始处的边距。
Gtk.Widget:上边距
小组件顶侧的边距。
Gtk.Widget:名称
小组件的名称。
Gtk.Widget:不透明度
小组件请求的不透明度。
Gtk.Widget:溢出
如何处理小组件内容区域外的内容。
Gtk.Widget:父级
此小组件的父小组件。
Gtk.Widget:接收默认值
小组件聚焦后是否接收默认操作。
Gtk.Widget:根级
包含此小组件的小组件树的 GtkRoot
小组件。
Gtk.Widget:缩放系数
小组件的缩放系数。
Gtk.Widget:灵敏
小组件是否对输入做出响应。
Gtk.Widget:工具提示标记
将工具提示的文本设置为给定的字符串,使其带有 Pango 标记。
Gtk.Widget:工具提示文本
将工具提示的文本设置为给定的字符串。
Gtk.Widget:垂直对齐
如果小组件获得额外空间,则如何分配垂直空间。
Gtk.Widget:垂直扩展
是否垂直扩展。
Gtk.Widget:垂直扩展设置
是否使用 vexpand
属性。
Gtk.Widget:可见
小组件是否可见。
Gtk.Widget:宽度要求
小组件宽度要求的覆盖项。
从 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信号。