14 个版本
0.5.1 | 2024年5月12日 |
---|---|
0.4.3 | 2024年5月6日 |
0.4.1 | 2023年6月27日 |
0.4.0 | 2023年3月31日 |
0.2.0 | 2021年10月9日 |
#827 在 GUI 中
846 每月下载量
335KB
181 行
Flemish
受 Iced 启发的 fltk-rs 的 Elmish 架构
用法
将 flemish 添加到您的依赖项
[dependencies]
flemish = "0.5"
用法示例
use flemish::{
button::Button, color_themes, frame::Frame, group::Flex, prelude::*, OnEvent, Sandbox, Settings,
};
pub fn main() {
Counter::new().run(Settings {
size: (300, 100),
resizable: true,
color_map: Some(color_themes::BLACK_THEME),
..Default::default()
})
}
#[derive(Default)]
struct Counter {
value: i32,
}
#[derive(Debug, Clone, Copy)]
enum Message {
IncrementPressed,
DecrementPressed,
}
impl Sandbox for Counter {
type Message = Message;
fn new() -> Self {
Self::default()
}
fn title(&self) -> String {
String::from("Counter - fltk-rs")
}
fn update(&mut self, message: Message) {
match message {
Message::IncrementPressed => {
self.value += 1;
}
Message::DecrementPressed => {
self.value -= 1;
}
}
}
fn view(&mut self) {
let col = Flex::default_fill().column();
Button::default()
.with_label("Increment")
.on_event(|_| Message::IncrementPressed);
Frame::default().with_label(&self.value.to_string());
Button::default()
.with_label("Decrement")
.on_event(|_| Message::DecrementPressed);
col.end();
}
}
示例
要运行 示例:
cargo run --example flcalculator
cargo run --example fldialect
cargo run --example flnetport
cargo run --example flpicture
...
FlCalculator
FlDialect
FlNetPort
FlPicture
依赖项
~14MB
~310K SLoC