想在 Linux 上拿 Rust 写图形界面?其实可供选择的框架和库还真不少,下面逐个梳理一下主流的几个选项。

GTK+:老牌跨平台 GUI 库,支持多种语言,Rust 这边有
gtk-rs这个 crate 来封装它的功能。怎么上手?首先在Cargo.toml里加上依赖:[dependencies] gtk = "0.9" # 记得检查最新版本搞定之后,写 Rust 代码就能创建窗口、按钮这些标准 GUI 元素了。
Iced:受 Elm 架构启发的 Rust GUI 库,API 简洁,主打声明式 UI。在
Cargo.toml里添加:[dependencies] iced = "0.4" # 建议确认最新版本它官方提供了一个简单的例子,几步就能跑出一个基本窗口。
egui:即时模式(Immediate Mode)GUI 库,上手快,能无缝嵌入现有应用。依赖配置:
[dependencies] egui = "0.17" # 版本号请以实际为准 eframe = "0.17" # eframe 是 egui 的框架集成库两者配合起来,可以快速构建出功能完整的 GUI 程序。
Qt for Rust:Qt 本身是功能强大的跨平台 C++ 库,通过
rust-bindgen等工具可以调用它的 API。此外,也可以借助pyo3创建 Python 绑定,再通过 Python 调 Qt,或者直接找找有没有现成的 Rust 绑定。Wasm-bindgen:如果你对 Web 方向感兴趣,可以用
wasm-bindgen把 Rust 编译成 WebAssembly,在浏览器里跑 GUI。依赖如下:[dependencies] wasm-bindgen = "0.2" # 同样建议检查最新版写好的 Rust 代码通过
wasm-bindgen编译成 wasm 模块,就能在浏览器里渲染 UI 了。
所以,选哪个库完全取决于你的具体场景和偏好。每个库都有自己的独到之处,建议动手前先翻翻文档和社区,感受一下哪款更合手。