Core Concepts
Builder Pattern
All widgets in Iced use a builder pattern for configuration:The Element Type
Widgets are converted intoElement<Message> to be used in your view:
Widget Categories
Layout Widgets
Widgets that arrange other widgets:- Row - Horizontal layout
- Column - Vertical layout
- Container - Single child with alignment and styling
- Scrollable - Scrollable content area
- Stack - Layered children
- Grid - Grid layout
- Float - Floating positioned elements
Input Widgets
Widgets for user interaction:- Button - Clickable button
- TextInput - Single-line text input
- TextEditor - Multi-line text editor
- Checkbox - Boolean checkbox
- Radio - Radio button selection
- Toggler - Toggle switch
- Slider - Horizontal slider
- VerticalSlider - Vertical slider
- PickList - Dropdown selection
- ComboBox - Searchable dropdown
Display Widgets
Widgets for displaying content:- Text - Text display
- Image - Image display
- Svg - SVG rendering
- ProgressBar - Progress indicator
- QRCode - QR code display
- Rule - Horizontal or vertical line
- Space - Empty space
Advanced Widgets
Specialized widgets:- Canvas - 2D graphics drawing
- PaneGrid - Resizable panes
- Tooltip - Hover tooltips
- MouseArea - Custom mouse interaction
- Responsive - Responsive layout
- Markdown - Markdown rendering
- Table - Table display
Common Properties
Most widgets support these common methods:Sizing
Padding
Styling
Length Types
Iced uses theLength enum for sizing:
Length::Shrink- Fit the contentLength::Fill- Take all available spaceLength::FillPortion(u16)- Take a proportional amountLength::Fixed(f32)- Fixed size in pixels
Next Steps
- Explore individual widget pages
- Learn about styling and theming
- See layout examples
