Object Hierarchy:

Object hierarchy for CheckButton


[ CCode ( type_id = "gtk_check_button_get_type ()" ) ]
public class CheckButton : Widget, Accessible, Actionable, Buildable, ConstraintTarget

A `GtkCheckButton` places a label next to an indicator.

![Example GtkCheckButtons](check-button.png)

A `GtkCheckButton` is created by calling either [] or [ctor@Gtk.CheckButton.new_with_label].

The state of a `GtkCheckButton` can be set specifically using [method@Gtk.CheckButton.set_active], and retrieved using [ method@Gtk.CheckButton.get_active].

Inconsistent state

In addition to "on" and "off", check buttons can be an "in between" state that is neither on nor off. This can be used e.g. when the user has selected a range of elements (such as some text or spreadsheet cells) that are affected by a check button, and the current values in that range are inconsistent.

To set a `GtkCheckButton` to inconsistent state, use [method@Gtk.CheckButton.set_inconsistent].


Check buttons can be grouped together, to form mutually exclusive groups - only one of the buttons can be toggled at a time, and toggling another one will switch the currently toggled one off.

Grouped check buttons use a different indicator, and are commonly referred to as *radio buttons*.

![Example GtkCheckButtons](radio-button.png)

To add a `GtkCheckButton` to a group, use [method@Gtk.CheckButton.set_group].

CSS nodes

``` checkbutton[.text-button] ├── check ╰── [label] ```

A `GtkCheckButton` has a main node with name checkbutton. If the [property@Gtk.CheckButton:label] property is set, it contains a label child. The indicator node is named check when no group is set, and radio if the checkbutton is grouped together with other checkbuttons.


`GtkCheckButton` uses the gtk_accessible_role_checkbox role.

Namespace: Gtk
Package: gtk4



Creation methods:



Inherited Members:

All known members inherited from class Gtk.Widget