GtkStackSwitcher: GTK+ 4 Reference Manual

## GtkStackSwitcher GtkStackSwitcher — A controller for GtkStack |

## Functions

GtkWidget * | gtk_stack_switcher_new ()
void | gtk_stack_switcher_set_stack ()
GtkStack * | gtk_stack_switcher_get_stack ()

## Types and Values

struct | GtkStackSwitcher

## Includes

    #include <gtk/gtk.h>

## Description

The GtkStackSwitcher widget acts as a controller for a GtkStack; it shows a row of buttons to switch between the various pages of the associated stack widget.

All the content for the buttons comes from the child properties of the GtkStack.

It is possible to associate multiple GtkStackSwitcher widgets with the same stack widget.

The GtkStackSwitcher widget was added in 3.10.

### CSS nodes

GtkStackSwitcher has a single CSS node named stackswitcher and style class .stack-switcher.

When circumstances require it, GtkStackSwitcher adds the .needs-attention style class to the widgets representing the stack pages.

## Functions

### gtk_stack_switcher_new ()

    GtkWidget *
    gtk_stack_switcher_new (void);

Create a new GtkStackSwitcher.

#### Returns

a new GtkStackSwitcher.

Since: 3.10

### gtk_stack_switcher_set_stack ()

    void
    gtk_stack_switcher_set_stack (GtkStackSwitcher *switcher,
                                  GtkStack *stack);

Sets the stack to control.

#### Parameters

switcher | a GtkStackSwitcher |
stack | a GtkStack. | [allow-none]

Since: 3.10

### gtk_stack_switcher_get_stack ()

    GtkStack *
    gtk_stack_switcher_get_stack (GtkStackSwitcher *switcher);

Retrieves the stack. See `gtk_stack_switcher_set_stack()`.

#### Parameters

switcher | a GtkStackSwitcher |

#### Returns

the stack, or `NULL` if none has been set explicitly.

[nullable][transfer none]

Since: 3.10

## Types and Values

### struct GtkStackSwitcher

    struct GtkStackSwitcher {
      GtkBox widget;
    };

## See Also

GtkStack