Object Hierarchy:

Gtk.Switch Gtk.Switch Gtk.Switch Gtk.Widget Gtk.Widget Gtk.Widget->Gtk.Switch GLib.InitiallyUnowned GLib.InitiallyUnowned GLib.InitiallyUnowned->Gtk.Widget GLib.Object GLib.Object GLib.Object->GLib.InitiallyUnowned Gtk.Accessible Gtk.Accessible Gtk.Accessible->Gtk.Switch Gtk.Accessible->Gtk.Widget Gtk.Buildable Gtk.Buildable Gtk.Buildable->Gtk.Switch Gtk.Buildable->Gtk.Widget Gtk.ConstraintTarget Gtk.ConstraintTarget Gtk.ConstraintTarget->Gtk.Switch Gtk.ConstraintTarget->Gtk.Widget Gtk.Actionable Gtk.Actionable Gtk.Actionable->Gtk.Switch


[ CCode ( type_id = "gtk_switch_get_type ()" ) ]
public sealed class Switch : Widget, Accessible, Actionable, Buildable, ConstraintTarget

`GtkSwitch` is a "light switch" that has two states: on or off.

![An example GtkSwitch](switch.png)

The user can control which state should be active by clicking the empty area, or by dragging the handle.

`GtkSwitch` can also handle situations where the underlying state changes with a delay. In this case, the slider position indicates the user's recent change (as indicated by the [property@Gtk.Switch:active] property), and the color indicates whether the underlying state (represented by the [property@Gtk.Switch:state] property) has been updated yet.

![GtkSwitch with delayed state change](switch-state.png)

See [signal@Gtk.Switch:GtkSwitch:state-set] for details.

CSS nodes

``` switch ├── image ├── image ╰── slider ```

`GtkSwitch` has four css nodes, the main node with the name switch and subnodes for the slider and the on and off images. Neither of them is using any style classes.


`GtkSwitch` uses the gtk_accessible_role_switch role.

Namespace: Gtk
Package: gtk4



Creation methods:



Inherited Members:

All known members inherited from class Gtk.Widget