ButtonContent

class ButtonContent(**properties: Any)

Superclasses: Widget, InitiallyUnowned, Object

Implemented Interfaces: Accessible, Buildable, ConstraintTarget

A helper widget for creating buttons.

https://gnome.pages.gitlab.gnome.org/libadwaita/doc/1-latest/button-content.png

AdwButtonContent is a box-like widget with an icon and a label.

It’s intended to be used as a direct child of Button, MenuButton or SplitButton, when they need to have both an icon and a label, as follows:

<object class="GtkButton">
  <property name="child">
    <object class="AdwButtonContent">
      <property name="icon-name">document-open-symbolic</property>
      <property name="label" translatable="yes">_Open</property>
      <property name="use-underline">True</property>
    </object>
  </property>
</object>

AdwButtonContent handles style classes and connecting the mnemonic to the button automatically.

CSS nodes

buttoncontent
╰── box
    ├── image
    ╰── label

AdwButtonContent’s CSS node is called buttoncontent. It contains a box subnode that serves as a container for the image and label nodes.

When inside a GtkButton or AdwSplitButton, the button will receive the .image-text-button style class. When inside a GtkMenuButton, the internal GtkButton will receive it instead.

Accessibility

AdwButtonContent uses the GTK_ACCESSIBLE_ROLE_GROUP role.

Constructors

class ButtonContent
classmethod new() Widget

Creates a new AdwButtonContent.

Methods

class ButtonContent
get_can_shrink() bool

gets whether the button can be smaller than the natural size of its contents.

Added in version 1.4.

get_icon_name() str

Gets the name of the displayed icon.

get_label() str

Gets the displayed label.

get_use_underline() bool

Gets whether an underline in the text indicates a mnemonic.

set_can_shrink(can_shrink: bool) None

Sets whether the button can be smaller than the natural size of its contents.

If set to TRUE, the label will ellipsize.

See set_can_shrink.

Added in version 1.4.

Parameters:

can_shrink – whether the button can shrink

set_icon_name(icon_name: str) None

Sets the name of the displayed icon.

If empty, the icon is not shown.

Parameters:

icon_name – the new icon name

set_label(label: str) None

Sets the displayed label.

Parameters:

label – the new label

set_use_underline(use_underline: bool) None

Sets whether an underline in the text indicates a mnemonic.

The mnemonic can be used to activate the parent button.

See label.

Parameters:

use_underline – whether an underline in the text indicates a mnemonic

Properties

class ButtonContent
props.can_shrink: bool

Whether the button can be smaller than the natural size of its contents.

If set to TRUE, the label will ellipsize.

See can_shrink.

Added in version 1.4.

props.icon_name: str

The name of the displayed icon.

If empty, the icon is not shown.

props.label: str

The displayed label.

props.use_underline: bool

Whether an underline in the text indicates a mnemonic.

The mnemonic can be used to activate the parent button.

See label.