1 个不稳定版本
0.1.0 | 2022年4月20日 |
---|
#449 in GUI
39KB
870 行
fltk-builder
一个 crate,它允许使用 fltk-rs 以构建模式在 Rust 中构建 FLTK UI。
这包括
- 带有前缀
with_
的设置函数的构建模式友好版本 - 一个全局映射,用于根据 ID 存储任何小部件,可以使用
with_id
函数分配,并使用fltk_builder::get_widget_by_id
函数检索
用法
只需将以下内容添加到您的项目 Cargo.toml 文件中
[dependencies]
fltk = "1"
fltk-builder = "^0.1"
如果您不感兴趣于 ID 映射功能,可以通过禁用默认功能来关闭它
[dependencies]
fltk = "1"
fltk-builder = { version = "^0.1", default-features = false }
基于 fltk-rs 中的 hello_button
示例的应用程序示例
use fltk::{app, button::Button, frame::Frame, prelude::*, window::Window};
use fltk_builder::prelude::*;
fn main() {
let mut app = fltk_builder::FltkBuilder::new(app::App::default()).window(
Window::default()
.with_size(400, 300)
.widget(
Frame::default()
.with_size(200, 100)
.center_of_parent()
.with_id("frame"),
)
.widget(Button::new(160, 210, 80, 40, "Click me").with_callback({
// Retrieve the frame once and not every click for better performance
let mut frame: Frame = fltk_builder::get_widget_by_id("frame").unwrap();
move |_| frame.set_label("Hello World")
})),
);
app.show();
app.app()
.run()
.unwrap();
}
如果您不想使用 FLTKBuilder
结构,您仍然可以正常创建应用程序和窗口,只需使用构建模式函数即可。
use fltk::{app, button::Button, frame::Frame, prelude::*, window::Window};
use fltk_builder::prelude::*;
fn main() {
let app = app::App::default();
let mut wind = Window::default()
.with_size(400, 300)
.widget(
Frame::default()
.with_size(200, 100)
.center_of_parent()
.with_id("frame"),
)
.widget(Button::new(160, 210, 80, 40, "Click me").with_callback({
// Retrieve the frame once and not every click for better performance
let mut frame: Frame = fltk_builder::get_widget_by_id("frame").unwrap();
move |_| frame.set_label("Hello World")
}));
wind.end();
wind.show();
app.run()
.unwrap();
}
依赖项
~14MB
~305K SLoC