Struct egui::widgets::button::Button

source ·
pub struct Button<'a> {
Show 13 fields image: Option<Image<'a>>, text: Option<WidgetText>, shortcut_text: WidgetText, wrap_mode: Option<TextWrapMode>, fill: Option<Color32>, stroke: Option<Stroke>, sense: Sense, small: bool, frame: Option<bool>, min_size: Vec2, rounding: Option<Rounding>, selected: bool, image_tint_follows_text_color: bool,
}
Expand description

Clickable button with text.

See also Ui::button.


if ui.add(egui::Button::new("Click me")).clicked() {
    do_stuff();
}

// A greyed-out and non-interactive button:
if ui.add_enabled(false, egui::Button::new("Can't click this")).clicked() {
    unreachable!();
}

Fields§

§image: Option<Image<'a>>§text: Option<WidgetText>§shortcut_text: WidgetText§wrap_mode: Option<TextWrapMode>§fill: Option<Color32>

None means default for interact

§stroke: Option<Stroke>§sense: Sense§small: bool§frame: Option<bool>§min_size: Vec2§rounding: Option<Rounding>§selected: bool§image_tint_follows_text_color: bool

Implementations§

source§

impl<'a> Button<'a>

source

pub fn new(text: impl Into<WidgetText>) -> Self

source

pub fn image(image: impl Into<Image<'a>>) -> Self

Creates a button with an image. The size of the image as displayed is defined by the provided size.

source

pub fn image_and_text( image: impl Into<Image<'a>>, text: impl Into<WidgetText>, ) -> Self

Creates a button with an image to the left of the text. The size of the image as displayed is defined by the provided size.

source

pub fn opt_image_and_text( image: Option<Image<'a>>, text: Option<WidgetText>, ) -> Self

source

pub fn wrap_mode(self, wrap_mode: TextWrapMode) -> Self

Set the wrap mode for the text.

By default, crate::Ui::wrap_mode will be used, which can be overridden with crate::Style::wrap_mode.

Note that any \n in the text will always produce a new line.

source

pub fn wrap(self) -> Self

source

pub fn truncate(self) -> Self

source

pub fn fill(self, fill: impl Into<Color32>) -> Self

Override background fill color. Note that this will override any on-hover effects. Calling this will also turn on the frame.

source

pub fn stroke(self, stroke: impl Into<Stroke>) -> Self

Override button stroke. Note that this will override any on-hover effects. Calling this will also turn on the frame.

source

pub fn small(self) -> Self

Make this a small button, suitable for embedding into text.

source

pub fn frame(self, frame: bool) -> Self

Turn off the frame

source

pub fn sense(self, sense: Sense) -> Self

By default, buttons senses clicks. Change this to a drag-button with Sense::drag().

source

pub fn min_size(self, min_size: Vec2) -> Self

Set the minimum size of the button.

source

pub fn rounding(self, rounding: impl Into<Rounding>) -> Self

Set the rounding of the button.

source

pub fn image_tint_follows_text_color( self, image_tint_follows_text_color: bool, ) -> Self

If true, the tint of the image is multiplied by the widget text color.

This makes sense for images that are white, that should have the same color as the text color. This will also make the icon color depend on hover state.

Default: false.

source

pub fn shortcut_text(self, shortcut_text: impl Into<WidgetText>) -> Self

Show some text on the right side of the button, in weak color.

Designed for menu buttons, for setting a keyboard shortcut text (e.g. Ctrl+S).

The text can be created with crate::Context::format_shortcut.

source

pub fn selected(self, selected: bool) -> Self

If true, mark this button as “selected”.

Trait Implementations§

source§

impl Widget for Button<'_>

source§

fn ui(self, ui: &mut Ui) -> Response

Allocate space, interact, paint, and return a Response. Read more

Auto Trait Implementations§

§

impl<'a> Freeze for Button<'a>

§

impl<'a> RefUnwindSafe for Button<'a>

§

impl<'a> Send for Button<'a>

§

impl<'a> Sync for Button<'a>

§

impl<'a> Unpin for Button<'a>

§

impl<'a> UnwindSafe for Button<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.