button/
button.rs

1use druid::widget::{Flex, Padding};
2use druid_ui::widget::{Button,ButtonStyle};
3use druid::{AppLauncher, Data, Lens, LocalizedString, Widget, WindowDesc};
4
5const WINDOW_TITLE: LocalizedString<ButtonState> = LocalizedString::new("Hello World!");
6
7#[derive(Clone, Data, Lens)]
8struct ButtonState {
9
10}
11
12fn main() {
13
14    let main_window = WindowDesc::new(build_root_widget())
15        .title(WINDOW_TITLE)
16        .window_size((700.0, 400.0));
17
18    let initial_state = ButtonState {
19    };
20
21    AppLauncher::with_window(main_window)
22        .launch(initial_state)
23        .expect("Failed to launch application");
24}
25
26fn build_root_widget() -> impl Widget<ButtonState> {
27    
28    let button = Button::new("普通按钮",ButtonStyle::RED).on_click(|_,_,_|{
29        println!("click");
30    });
31    let button2 = Button::new("普通按钮",ButtonStyle::ORANGE);
32    let button3 = Button::new("普通按钮",ButtonStyle::YELLOW);
33    let button4 = Button::new("普通按钮",ButtonStyle::PURPLE);
34    let button5 = Button::new("普通按钮",ButtonStyle::BLUE);
35    let button6 = Button::new("普通按钮",ButtonStyle::GREEN);
36
37    let padd1 = Padding::new((10.,10.), button);
38    let padd2 = Padding::new((10.,10.), button2);
39    let padd3 = Padding::new((10.,10.), button3);
40    let padd4 = Padding::new((10.,10.), button4);
41    let padd5 = Padding::new((10.,10.), button5);
42    let padd6 = Padding::new((10.,10.), button6);
43
44    Flex::row()
45        .with_child(padd1)
46        .with_child(padd2)
47        .with_child(padd3)
48        .with_child(padd4)
49        .with_child(padd5)
50        .with_child(padd6)
51}
52
53
54
55
56