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