近年来,rust出现了不少GUI库,如借用浏览器资源的TAURI,其它语言转化过来的gtk4-rs,以及原生的egui、Iced等等,多数不是太了解。
无意间发现的Slint让我非常感兴趣。它既快又小,非常适合嵌入式开发,可用于为各种操作系统和处理器架构开发 UI,包括 Linux、macOS、Windows、WebAssembly、Blackberry QNX 和裸机。
我选择Slint用于新项目的开发,步骤如下:
1、在cmd窗口进入工作目录,敲命令:cargo add slint
2、Cargo.toml 文件添加:
[package]
name = "Plan"
version = "0.1.0"
edition = "2021"
**build = "build.rs"**
[dependencies]
slint = "1.7.2"
**[build-dependencies]
slint-build="1.7.2"**
3、新建文件 src目录下build.rs文件,内容:
fn main(){
slint_build::compile("ui/app.slint").unwrap();
}
4、新建目录及文件:ui \ app.slint,内容:
export component App inherits Window{
height:400px;
width:360px;
}
5、主函数 main.rs 改为:
slint::include_modules!();
fn main(){
App::new().unwrap().run().unwrap();
}
运行窗口如下:
相关源码见附件