14 个版本
新 0.2.1 | 2024 年 8 月 19 日 |
---|---|
0.1.11 | 2024 年 8 月 9 日 |
0.1.9 | 2024 年 7 月 27 日 |
0.1.5 | 2024 年 3 月 4 日 |
0.1.1 | 2023 年 11 月 26 日 |
#254 在 GUI
328 每月下载量
用于 pnte
125KB
3.5K SLoC
wiard
Windows 在 Rust 中的窗口处理库
简单示例
同步版本
fn main() {
let mut event_rx = wiard::EventReceiver::new();
let _window = wiard::Window::builder(&event_rx)
.build()
.unwrap();
loop {
let Some((event, _)) = event_rx.recv() else {
break;
};
println!("{event:?}");
}
}
异步版本
#[tokio::main]
async fn main() {
let mut event_rx = wiard::AsyncEventReceiver::new();
let _window = wiard::Window::builder(&event_rx)
.await
.unwrap();
loop {
let Some((event, _)) = event_rx.recv().await else {
break;
};
println!("{event:?}");
}
}
许可证
本库采用 MIT 许可证。
lib.rs
:
Windows 在 Rust 中的窗口处理库
简单示例
同步版本
fn main() {
let mut event_rx = wiard::EventReceiver::new();
let _window = wiard::Window::builder(&event_rx)
.build()
.unwrap();
loop {
let Some((event, _)) = event_rx.recv() else {
break;
};
println!("{event:?}");
}
}
异步版本
#[tokio::main]
async fn main() {
let mut event_rx = wiard::AsyncEventReceiver::new();
let _window = wiard::Window::builder(&event_rx)
.await
.unwrap();
loop {
let Some((event, _)) = event_rx.recv().await else {
break;
};
println!("{event:?}");
}
}
注意
wiard 使用 WM_APP
。不要直接将 WM_APP
发送到 wiard 的 UI 线程。
依赖项
~136MB
~2.5M SLoC