GtkButton

说明 [src]

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

GtkButton 小组件通常用于触发在按下按钮时调用的回调函数。

An example GtkButton

GtkButton 小组件可以容纳任何有效的子小组件。也就是说,它可以容纳几乎任何其他标准 GtkWidget。最常用的子组件是 GtkLabel

快捷键和手势

以下信号有默认的按键绑定

CSS 节点

GtkButton 带有名称为 button 的单个 CSS 节点。如果内容分别只是图像或标签,则该节点将获得 .image-button 或 .text-button 样式类。它还可能接收 .flat 样式类。通过键盘激活按钮时,该按钮将暂时获得 .keyboard-activating 样式类。

GtkButton 一起常用其他样式类包括 .suggested-action 和 .destructive-action。在特殊情况下,可以通过添加 .circular 样式类使按钮变为圆形。

类似按钮的小组件(例如 GtkToggleButtonGtkMenuButtonGtkVolumeButtonGtkLockButtonGtkColorButtonGtkFontButton),在 button 节点上使用 .toggle、.popup、.scale、.lock、.color 等样式类,以使自己与纯 GtkButton 区分开来。

辅助功能

GtkButton 使用 GTK_ACCESSIBLE_ROLE_BUTTON 角色。

层次

hierarchy this GtkButton implements_0 GtkAccessible this--implements_0 implements_1 GtkActionable this--implements_1 implements_2 GtkBuildable this--implements_2 implements_3 GtkConstraintTarget this--implements_3 ancestor_0 GtkWidget ancestor_0--this ancestor_1 GInitiallyUnowned ancestor_1--ancestor_0 ancestor_2 GObject ancestor_2--ancestor_1

构造函数

gtk_button_new

创建一个新的 GtkButton 窗口小组件。

gtk_button_new_from_icon_name

创建一个新的包含来自当前图标主题的图标的按钮。

gtk_button_new_with_label

使用 GtkLabel 子创建 GtkButton 窗口小部件。

gtk_button_new_with_mnemonic

创建一个新的包含标签的 GtkButton

实例方法

gtk_button_get_can_shrink

检索按钮是否可以小于其内容的自然大小。

since: 4.12

gtk_button_get_child

获取 button 的子窗口小部件。

gtk_button_get_has_frame

返回按钮是否有帧。

gtk_button_get_icon_name

返回按钮的图标名称。

gtk_button_get_label

从按钮的标签中获取文本。

gtk_button_get_use_underline

获取下划线是否解释为快捷键。

gtk_button_set_can_shrink

设置按钮大小是否可以小于其内容的自然大小。

since: 4.12

gtk_button_set_child

设置 button 的子窗口小部件。

gtk_button_set_has_frame

设置按钮的样式。

gtk_button_set_icon_name

添加一个 GtkImage 作为子项,其给定图标名称作为子项。

gtk_button_set_label

将按钮标签的文本设置为 label

gtk_button_set_use_underline

设置是否将下划线用作快捷键。

GtkWidget 继承的方法 (162)

有关方法的完整列表,请参阅 GtkWidget

GObject 继承的方法 (43)

有关方法的完整列表,请参阅 GObject

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

更新无障碍状态数组。

Methods inherited from GtkActionable (6)
gtk_actionable_get_action_name

获取可操作对象的 action 名称。

gtk_actionable_get_action_target_value

获取可操作对象的当前目标值。

gtk_actionable_set_action_name

指定此小组件应与之关联的 action 的名称。

gtk_actionable_set_action_target

设置可操作小组件的目标。

gtk_actionable_set_action_target_value

设置可操作小组件的目标值。

gtk_actionable_set_detailed_action_name

设置可操作小组件的 action 名称以及关联的字符串目标值。

Methods inherited from GtkBuildable (1)
gtk_buildable_get_buildable_id

获取可构建对象ID

Properties

Gtk.Button:can-shrink

按钮的大小是否可以缩小到其内容的自然大小。

since: 4.12

Gtk.Button:child

子小组件。

Gtk.Button:has-frame

按钮是否有边框。

Gtk.Button:icon-name

用于自动填充按钮的图标的名称。

Gtk.Button:label

按钮内部标签的文本,如果按钮包含标签小组件。

Gtk.Button:use-underline

如果设置,文本中的下划线表示以下字符用作助记键。

Properties inherited from 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)
GtkAccessible:accessible-role

给定的 GtkAccessible 实现的可访问角色。

GtkActionable 继承的属性 (2)
GtkActionable:action-name

此小组件应与其关联的操作的名称。

GtkActionable:action-target

可操作小组件操作的目标值。

信号

Gtk.Button::activate

发出信号以使动画先按动再释放。

Gtk.Button::clicked

当按钮被激活(按下并释放)时发出。

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

当对象的一个属性有值通过 g_object_set_property()、g_object_set()等函数设置时,会发出 notify 信号。

类结构

struct GtkButtonClass {
  GtkWidgetClass parent_class;
  void (* clicked) (
    GtkButton* button
  );
  void (* activate) (
    GtkButton* button
  );
  
}

无可用描述。

类成员
parent_class: GtkWidgetClass

父类。

clicked: void (* clicked) ( GtkButton* button )

当按钮被激活(按下并释放)时发出的信号。

activate: void (* activate) ( GtkButton* button )

导致按钮先按动再释放动画的信号。应用程序不应连接到此信号,而应使用 clicked 信号。

虚方法

Gtk.ButtonClass.activate

导致按钮先按动再释放动画的信号。应用程序不应连接到此信号,而应使用 clicked 信号。

Gtk.ButtonClass.clicked

当按钮被激活(按下并释放)时发出的信号。