类
GtkMenuButton
描述 [src]
final class Gtk.MenuButton : Gtk.Widget
implements Gtk.Accessible, Gtk.Buildable, Gtk.ConstraintTarget {
/* No available fields */
}
当点击时,GtkMenuButton
小工具用于显示一个弹出式窗口。
该弹出式窗口可作为 GtkPopover
或抽象的 GMenuModel
提供。
GtkMenuButton
小工具可以显示图标(使用 GtkMenuButton:icon-name
属性设置)或标签(使用 GtkMenuButton:label
属性设置)。如果都没有明确设置,则会自动创建一个 GtkImage
,使用根据 GtkMenuButton:direction
定向的箭头图像或未设置方向时的常规“open-menu-symbolic”图标。
弹出式窗口的位置由菜单按钮的 GtkMenuButton:direction
属性确定。
对于菜单,菜单的 GtkWidget:halign
和 GtkWidget:valign
属性也已考虑在内。例如,当方向为 GTK_ARROW_DOWN
且水平对齐为 GTK_ALIGN_START
时,菜单会显示在按钮下方,且菜单的起始边缘(取决于文本方向)与按钮的起始边缘对齐。如果在按钮下方没有足够的空间,则菜单会弹出在按钮上方。如果对齐方式会使菜单部分内容移出屏幕之外,则会将菜单“推入”。
start | center | end | |
---|---|---|---|
down | |||
up | |||
left | |||
right |
CSS 节点
menubutton
╰── button.toggle
╰── <content>
╰── [arrow]
GtkMenuButton
有一个名称为 menubutton
的单个 CSS 节点,其中包含带有 .toggle
样式类的 button
节点。
如果按钮包含一个图标,它将会有 .image-button
样式类,如果它包含文本,它将会有 .text-button
样式类。除了图标之外,如果箭头、文本或自定义子项也是可见的,它还将带有 .arrow-button
样式类。
在切换按钮内容中,有一个用于指示的 arrow
节点,它将携带 .none
、.up
、.down
、.left
或 .right
样式类之一,以指示菜单将出现在哪个方向。 CSS 预计将为每种情况提供一个合适的图像,使用 -gtk-icon-source
属性。
可以选择,menubutton
节点可以携带 .circular
样式类来请求一个圆形的外观。
无障碍
GtkMenuButton
使用 GTK_ACCESSIBLE_ROLE_BUTTON
角色。
实例方法
从 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)继承的方法
属性
从 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信号。