类
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));
}
实例方法
从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
设置是否将下划线用作助记符。
从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)
属性 属性
从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)
从 GtkActionable 继承的属性 (2)
信号
从 GtkButton 继承的信号 (2)
从 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 信号。
类结构
struct GtkToggleButtonClass {
GtkButtonClass parent_class;
void (* toggled) (
GtkToggleButton* toggle_button
);
}
无可用说明。
类成员
parent_class: GtkButtonClass
无可用说明。
toggled: void (*toggled) ( GtkToggleButton* toggle_button )
无可用说明。