Switch#

class Switch(**properties: Any)#

Superclasses: Widget, InitiallyUnowned, Object

Implemented Interfaces: Accessible, Actionable, Buildable, ConstraintTarget

GtkSwitch is a “light switch” that has two states: on or off.

https://docs.gtk.org/gtk4/switch.png

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

GtkSwitch can also express situations where the underlying state changes with a delay. In this case, the slider position indicates the user’s recent change (represented by the active property), while the trough color indicates the present underlying state (represented by the state property).

https://docs.gtk.org/gtk4/switch-state.png

See state_set for details.

Shortcuts and Gestures#

GtkSwitch supports pan and drag gestures to move the slider.

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.

Accessibility#

GtkSwitch uses the SWITCH role.

Constructors#

class Switch
classmethod new() Widget#

Creates a new GtkSwitch widget.

Methods#

class Switch
get_active() bool#

Gets whether the GtkSwitch is in its “on” or “off” state.

get_state() bool#

Gets the underlying state of the GtkSwitch.

set_active(is_active: bool) None#

Changes the state of self to the desired one.

Parameters:

is_activeTrue if self should be active, and False otherwise

set_state(state: bool) None#

Sets the underlying state of the GtkSwitch.

This function is typically called from a state_set signal handler in order to set up delayed state changes.

See state_set for details.

Parameters:

state – the new state

Properties#

class Switch
props.active: bool#

The type of the None singleton.

props.state: bool#

The type of the None singleton.

Signals#

class Switch.signals
activate() None#

Emitted to animate the switch.

Applications should never connect to this signal, but use the active property.

state_set(state: bool) bool#

The type of the None singleton.

Parameters:

state – the new state of the switch