Expand description

Use the built-in widgets or create your own.

Built-in widgets

Every built-in drawable widget has its own module with a Renderer trait that must be implemented by a renderer before being able to use it as a Widget.

Custom widgets

If you want to implement a custom widget, you simply need to implement the Widget trait. You can use the API of the built-in widgets as a guide or source of inspiration.


pub use button::Button;
pub use checkbox::Checkbox;
pub use column::Column;
pub use container::Container;
pub use image::Image;
pub use pane_grid::PaneGrid;
pub use pick_list::PickList;
pub use progress_bar::ProgressBar;
pub use radio::Radio;
pub use row::Row;
pub use rule::Rule;
pub use scrollable::Scrollable;
pub use slider::Slider;
pub use space::Space;
pub use svg::Svg;
pub use text::Text;
pub use text_input::TextInput;
pub use toggler::Toggler;
pub use tooltip::Tooltip;
pub use tree::Tree;
pub use operation::Operation;
pub use helpers::*;


Allow your users to perform actions by pressing a button.
Show toggle controls using checkboxes.
Distribute content vertically.
Decorate content and apply alignment.
Helper functions to create pure widgets.
Display images in your user interface.
Query or update internal widget state.
Let your users split regions of your application and organize layout dynamically.
Display a dropdown list of selectable values.
Provide progress feedback to your users.
Create choices using radio buttons.
Distribute content horizontally.
Display a horizontal or vertical rule for dividing content.
Navigate an endless amount of content with a scrollbar.
Display an interactive selector of a single value from a range of values.
Distribute content vertically.
Display vector graphics in your application.
Write some text for your users to read.
Display fields that can be filled with text.
Show toggle controls using togglers.
Display a widget over another.
Store internal widget state in a state tree to ensure continuity.


An operation to be performed on the widget tree.
The identifier of a generic widget.


A component that displays information and allows interaction.