GtkToggleButton

说明 [src]

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

当被单击时仍然保持“按下”状态的GtkToggleButton

再次单击,切换按钮将返回其正常状态。

可以通过调用 gtk_toggle_button_new()gtk_toggle_button_new_with_label() 来创建切换按钮。如果使用前者,建议将一个部件(如 GtkLabel 和/或 GtkImage)打包到切换按钮的容器中。(有关详细信息,请参见 GtkButton)。

可以使用 gtk_toggle_button_set_active() 明确设置 GtkToggleButton 的状态,并可以使用 gtk_toggle_button_get_active() 检索它。

若要仅切换切换按钮的状态,请使用 gtk_toggle_button_toggled()

分组

切换按钮可以分组在一起,以形成互斥组 - 一次只能切换其中一个按钮,而切换另一个按钮会关闭当前切换的按钮。

要将 GtkToggleButton 添加到组,请使用 gtk_toggle_button_set_group()

CSS 节点

GtkToggleButton 有一个名称为按钮的单个 CSS 节点。为了将其与简单的 GtkButton 区分开来,它获取 .toggle 样式类。

辅助功能

GtkToggleButton 使用 GTK_ACCESSIBLE_ROLE_TOGGLE_BUTTON 角色。

创建两个 GtkToggleButton 窗口小部件。

static void
output_state (GtkToggleButton *source,
              gpointer         user_data)
{
  g_print ("Toggle button "%s" is active: %s",
           gtk_button_get_label (GTK_BUTTON (source)),
           gtk_toggle_button_get_active (source) ? "Yes" : "No");
}

static void
make_toggles (void)
{
  GtkWidget *window, *toggle1, *toggle2;
  GtkWidget *box;
  const char *text;

  window = gtk_window_new ();
  box = gtk_box_new (GTK_ORIENTATION_VERTICAL, 12);

  text = "Hi, I’m toggle button one";
  toggle1 = gtk_toggle_button_new_with_label (text);

  g_signal_connect (toggle1, "toggled",
                    G_CALLBACK (output_state),
                    NULL);
  gtk_box_append (GTK_BOX (box), toggle1);

  text = "Hi, I’m toggle button two";
  toggle2 = gtk_toggle_button_new_with_label (text);
  g_signal_connect (toggle2, "toggled",
                    G_CALLBACK (output_state),
                    NULL);
  gtk_box_append (GTK_BOX (box), toggle2);

  gtk_window_set_child (GTK_WINDOW (window), box);
  gtk_window_present (GTK_WINDOW (window));
}

层级

hierarchy this GtkToggleButton 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 GtkButton ancestor_0--this ancestor_1 GtkWidget ancestor_1--ancestor_0 ancestor_2 GInitiallyUnowned ancestor_2--ancestor_1 ancestor_3 GObject ancestor_3--ancestor_2

构造函数

gtk_toggle_button_new

创建一个新的切换按钮。

gtk_toggle_button_new_with_label

创建一个带有文本标签的新切换按钮。

gtk_toggle_button_new_with_mnemonic

创建包含标签的新 GtkToggleButton

实例方法

gtk_toggle_button_get_active

查询 GtkToggleButton 它并返回其当前状态。

gtk_toggle_button_set_active

设置切换按钮的状态。

gtk_toggle_button_set_group

self 添加到 group 组中。

gtk_toggle_button_toggled

GtkToggleButton上发出::toggled 信号。

已弃用: 4.10 

GtkButton继承的方法 (12)
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

更新无障碍状态数组。

GtkActionable继承的方法 (6)
gtk_actionable_get_action_name

获取actionable的动作名称。

gtk_actionable_get_action_target_value

获取actionable的当前目标值。

gtk_actionable_set_action_name

指定此小部件应与之关联的动作的名称。

gtk_actionable_set_action_target

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

gtk_actionable_set_action_target_value

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

gtk_actionable_set_detailed_action_name

设置可操作小部件的动作名称和关联的字符串目标值。

GtkBuildable继承的方法 (1)
gtk_buildable_get_buildable_id

获取buildable对象的ID

属性 属性

Gtk.ToggleButton:active

如果应该按下切换按钮 。

Gtk.ToggleButton:group

此小组件所属组的切换按钮 。

GtkButton继承的属性(6)
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

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

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

将工具提示的文本设置为给定的字符串,该字符串用潘戈 标记标记。

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.ToggleButton::toggled

每当 GtkToggleButton' 的状态发生更改时发出。

GtkButton 继承的信号 (2)
GtkButton::activate

发出以激活按下然后释放。

GtkButton::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 GtkToggleButtonClass {
  GtkButtonClass parent_class;
  void (* toggled) (
    GtkToggleButton* toggle_button
  );
  
}

无可用说明。

类成员
parent_class: GtkButtonClass

无可用说明。

toggled: void (*toggled) ( GtkToggleButton* toggle_button )

无可用说明。

虚拟函数

Gtk.ToggleButtonClass.toggled

GtkToggleButton上发出::toggled 信号。

已弃用: 4.10