pub trait ButtonExt: 'static {
Show 19 methods fn child(&self) -> Option<Widget>;
fn has_frame(&self) -> bool;
fn icon_name(&self) -> Option<GString>;
fn label(&self) -> Option<GString>;
fn uses_underline(&self) -> bool;
fn set_child(&self, child: Option<&impl IsA<Widget>>);
fn set_has_frame(&self, has_frame: bool);
fn set_icon_name(&self, icon_name: &str);
fn set_label(&self, label: &str);
fn set_use_underline(&self, use_underline: bool);
fn connect_activate<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
fn emit_activate(&self);
fn connect_clicked<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId;
fn emit_clicked(&self);
fn connect_child_notify<F: Fn(&Self) + 'static>(
        f: F
    ) -> SignalHandlerId;
fn connect_has_frame_notify<F: Fn(&Self) + 'static>(
        f: F
    ) -> SignalHandlerId;
fn connect_icon_name_notify<F: Fn(&Self) + 'static>(
        f: F
    ) -> SignalHandlerId;
fn connect_label_notify<F: Fn(&Self) + 'static>(
        f: F
    ) -> SignalHandlerId;
fn connect_use_underline_notify<F: Fn(&Self) + 'static>(
        f: F
    ) -> SignalHandlerId;
Expand description

Trait containing all Button methods.


Button, LinkButton, LockButton, ToggleButton

Required methods

Gets the child widget of @self.


the child widget of @self

Returns whether the button has a frame.


true if the button has a frame

Returns the icon name of the button.

If the icon name has not been set with set_icon_name() the return value will be None. This will be the case if you create an empty button with Button::new() to use as a container.


The icon name set via set_icon_name()

Fetches the text from the label of the button.

If the label text has not been set with set_label() the return value will be None. This will be the case if you create an empty button with Button::new() to use as a container.


The text of the label widget. This string is owned by the widget and must not be modified or freed.

gets whether underlines are interpreted as mnemonics.

See set_use_underline().


true if an embedded underline in the button label indicates the mnemonic accelerator keys.

Sets the child widget of @self.

Note that by using this API, you take full responsibility for setting up the proper accessibility label and description information for @self. Most likely, you’ll either set the accessibility label or description for @self explicitly, or you’ll set a labelled-by or described-by relations from @child to @self.


the child widget

Sets the style of the button.

Buttons can has a flat appearance or have a frame drawn around them.


whether the button should have a visible frame

Adds a Image with the given icon name as a child.

If @self already contains a child widget, that child widget will be removed and replaced with the image.


An icon name

Sets the text of the label of the button to @label.

This will also clear any previously set labels.


a string

Sets whether to use underlines as mnemonics.

If true, an underline in the text of the button label indicates the next character should be used for the mnemonic accelerator key.


true if underlines in the text indicate mnemonics

Emitted to animate press then release.

This is an action signal. Applications should never connect to this signal, but use the signal::Button::clicked signal.

Emitted when the button has been activated (pressed and released).