4 个版本
新 0.0.6 | 2024年8月20日 |
---|---|
0.0.5 | 2024年8月19日 |
0.0.4 | 2024年1月23日 |
0.0.3 | 2023年8月9日 |
#813 在 GUI
每月160 次下载
215KB
1.5K SLoC
Nuit
Nuit 是一个使用本地控件的 Rust 跨平台 UI 库。
Nuit 的 API 从 SwiftUI、Xilem、React 以及其他多个框架中汲取灵感,同时在 macOS 下使用 SwiftUI 作为底层。
[注意] 由于 Nuit 使用了多个前沿/不稳定编译器特性,包括
使用
rustup
可以方便地在每个目录的基础上进行配置rustup override set nightly
或,作为此仓库自动配置rust-toolchain.toml
.
示例
use nuit::{Text, VStack, View, Bind, Button, State};
#[derive(Bind)]
struct CounterView {
count: State<i32>,
}
impl CounterView {
fn new() -> Self {
Self { count: State::new(0) }
}
}
impl View for CounterView {
type Body = impl View;
fn body(&self) -> Self::Body {
let count = self.count.clone();
VStack::new((
Text::new(format!("Count: {}", count.get())),
Button::new(Text::new("Increment"), move || {
count.set(count.get() + 1);
})
))
}
}
fn main() {
nuit::run_app(CounterView::new());
}
运行此示例,例如使用 cargo run --
counter,将启动
依赖
~0.7–1.6MB
~35K SLoC