public class CheckButton : Widget, Accessible, Actionable, Buildable, ConstraintTarget
A `GtkCheckButton` places a label next to an indicator.
A `GtkCheckButton` is created by calling either [ctor@Gtk.CheckButton.new] 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].
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*.
To add a `GtkCheckButton` to a group, use [method@Gtk.CheckButton.set_group].
``` 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.