Rust怎么写GUI程序?

您所在的位置:网站首页 脚本语言设计怎么写 Rust怎么写GUI程序?

Rust怎么写GUI程序?

#Rust怎么写GUI程序?| 来源: 网络整理| 查看: 265

提问者应该认真去了解下 Rust, Rust 对 GUI 支持的很不错

先去看看:

更新:

Rust 是一门系统编程语言,所以可以和操作系统的原生 UI 绑定实现 GUI, 也可以直接使用图形库接口(opengl,vulkan,webgpu 等)实现 GUI ,可以使用 webview 控件来实现

GUI 绑定gtk-rs , 目前集成的比较 relm, 也是 gtk QT, 了解的不多 ,kde 有个仓库: Windows 原生, Rust 原生 GUIegui, 这个是目前发展的不错的 gui 库, 被很多项目使用,各种游戏引擎iced, 原先和 orbtk , druid 一起关注,现在后两者都差不多停更了。Webviewtauri , 使用个系统自带 webview 去实现跨平台桌面应用开发,理想是很不错,就看能不能挑起大梁了,目前 1.2 , 2.0 紧张开发中.

以上几个是自己一直关注中的 gui 库或者框架,希望能给提问者有些帮助

2023-03-20更新窗口居中问题

关于 @小蓦然 在评论中提到的窗口居中问题,我在 Linux(fedora 37) 系统下, X11 和 wayland 中测试了一下,Wayland 确实不支持, 原因在与 wayland 的设计:

X11 环境下:

gtk3 和 iced.rs 以及 tauri 均可

GTK 3 的代码就是库的官方示例代码: gtk3-rs/main.rs at master · gtk-rs/gtk3-rs

这个gtk 3 的 cargo 依赖是

gtk = { version= "0.17" }

GTK 4 , 已经放弃很多 X11 的 API ,所以目前也没有 top level 窗口居中的 api

Iced.rs 的测试代码也是来自于官方示例:

Tour::run(Settings::default())

修改为:

Tour::run(Settings { window: window::Settings { position: window::Position::Centered, ..window::Settings::default() }, ..Default::default() })

Tauri 测试代码,也是 Tarui 创建项目后

tauri::Builder::default() .invoke_handler(tauri::generate_handler![greet]) .run(tauri::generate_context!()) .expect("error while running tauri application");

改为:

tauri::Builder::default() .setup(|app| { let main_window = app.get_window("main").unwrap(); main_window.center().unwrap(); Ok(()) } ) .invoke_handler(tauri::generate_handler![greet]) .run(tauri::generate_context!()) .expect("error while running tauri application");控件少的问题

GTK, 不存在吧,人家已经发展了这么多年了, gtk3 -> gtk4 大把的应用

Iced.rs , 新的库, 控件少,需要时间,简单的也可以自绘.

Tarui : 我是 Web ,我还缺 UI 库吗?!!!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3