use iced::widget::{column, container, slider, text, vertical_slider}; use iced::{Element, Length, Sandbox, Settings}; pub fn main() -> iced::Result { Slider::run(Settings::default()) } #[derive(Debug, Clone)] pub enum Message { SliderChanged(u8), } pub struct Slider { slider_value: u8, } impl Sandbox for Slider { type Message = Message; fn new() -> Slider { Slider { slider_value: 50 } } fn title(&self) -> String { String::from("Slider - Iced") } fn update(&mut self, message: Message) { match message { Message::SliderChanged(value) => { self.slider_value = value; } } } fn view(&self) -> Element { let value = self.slider_value; let h_slider = container(slider(0..=100, value, Message::SliderChanged)) .width(250); let v_slider = container(vertical_slider(0..=100, value, Message::SliderChanged)) .height(200); let text = text(format!("{value}")); container( column![ container(v_slider).width(Length::Fill).center_x(), container(h_slider).width(Length::Fill).center_x(), container(text).width(Length::Fill).center_x(), ] .spacing(25), ) .height(Length::Fill) .width(Length::Fill) .center_x() .center_y() .into() } }