CenterBox#

class CenterBox(**properties: Any)#

Superclasses: Widget, InitiallyUnowned, Object

Implemented Interfaces: Accessible, Buildable, ConstraintTarget, Orientable

GtkCenterBox arranges three children in a row, keeping the middle child centered as well as possible.

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

To add children to GtkCenterBox, use set_start_widget, set_center_widget and set_end_widget.

The sizing and positioning of children can be influenced with the align and expand properties of the children.

GtkCenterBox as GtkBuildable#

The GtkCenterBox implementation of the GtkBuildable interface supports placing children in the 3 positions by specifying “start”, “center” or “end” as the “type” attribute of a <child> element.

CSS nodes#

GtkCenterBox uses a single CSS node with the name “box”,

The first child of the GtkCenterBox will be allocated depending on the text direction, i.e. in left-to-right layouts it will be allocated on the left and in right-to-left layouts on the right.

In vertical orientation, the nodes of the children are arranged from top to bottom.

Accessibility#

Until GTK 4.10, GtkCenterBox used the GTK_ACCESSIBLE_ROLE_GROUP role.

Starting from GTK 4.12, GtkCenterBox uses the GTK_ACCESSIBLE_ROLE_GENERIC role.

Constructors#

class CenterBox
classmethod new() Widget#

Creates a new GtkCenterBox.

Methods#

class CenterBox
get_baseline_position() BaselinePosition#

Gets the value set by set_baseline_position().

get_center_widget() Widget | None#

Gets the center widget, or None if there is none.

get_end_widget() Widget | None#

Gets the end widget, or None if there is none.

get_shrink_center_last() bool#

Gets whether self shrinks the center widget after other children.

Added in version 4.12.

get_start_widget() Widget | None#

Gets the start widget, or None if there is none.

set_baseline_position(position: BaselinePosition) None#

Sets the baseline position of a center box.

This affects only horizontal boxes with at least one baseline aligned child. If there is more vertical space available than requested, and the baseline is not allocated by the parent then position is used to allocate the baseline wrt. the extra space available.

Parameters:

position – a GtkBaselinePosition

set_center_widget(child: Widget | None = None) None#

Sets the center widget.

To remove the existing center widget, pass None.

Parameters:

child – the new center widget

set_end_widget(child: Widget | None = None) None#

Sets the end widget.

To remove the existing end widget, pass None.

Parameters:

child – the new end widget

set_shrink_center_last(shrink_center_last: bool) None#

Sets whether to shrink the center widget after other children.

By default, when there’s no space to give all three children their natural widths, the start and end widgets start shrinking and the center child keeps natural width until they reach minimum width.

If set to FALSE, start and end widgets keep natural width and the center widget starts shrinking instead.

Added in version 4.12.

Parameters:

shrink_center_last – whether to shrink the center widget after others

set_start_widget(child: Widget | None = None) None#

Sets the start widget.

To remove the existing start widget, pass None.

Parameters:

child – the new start widget

Properties#

class CenterBox
props.baseline_position: BaselinePosition#

The type of the None singleton.

props.center_widget: Widget#

The type of the None singleton.

Added in version 4.10.

props.end_widget: Widget#

The type of the None singleton.

Added in version 4.10.

props.shrink_center_last: bool#

The type of the None singleton.

Added in version 4.12.

props.start_widget: Widget#

The type of the None singleton.

Added in version 4.10.