面向 D 语言的轻量 2D 游戏引擎,内置物理、动画、瓦片地图和对话系统。
emilk/egui
一个易于使用的 Rust 即时模式 GUI 库,可同时运行在 Web 和原生平台,也可嵌入游戏引擎。
- Star
- 31,659
- Fork
- 2,228
- 未关闭 Issue
- 1,068
- 最近提交
- 12小时前
这是什么?
egui 是一个用纯 Rust 编写的即时模式(immediate mode)GUI 库。它不需要维护带回调的控件树,而是每一帧调用 UI 函数,例如 ui.button("保存").clicked(),并直接根据返回结果执行逻辑,使界面代码保持简洁,也避免界面状态与应用状态不同步。
库本身不负责窗口管理、输入采集或渲染,每帧只输出三角形网格,由集成层负责绘制。官方的 eframe 框架提供了这一层,可用于编写面向 Web、Linux、Mac、Windows 和 Android 的应用;社区也提供了将 egui 嵌入其他游戏引擎的集成方案。
内置控件包括标签、滑块、复选框、颜色选择器和文本编辑器,并提供布局、可调整大小的窗口、滚动区域、图片显示以及基于 AccessKit 的无障碍支持。项目说明指出 API 仍在演进,新版本可能包含破坏性变更。
核心功能
- 01即时模式 API:界面以普通函数调用的方式编写,每帧执行
- 02通过 eframe 可运行在 Web(WebAssembly)以及 Linux、Mac、Windows、Android 原生平台
- 03内置滑块、文本编辑、颜色选择器、可折叠区域等控件
- 04支持水平、垂直、多列和自动换行等布局方式
- 05通过 AccessKit 在 Windows 和 macOS 上提供无障碍支持
- 06输出三角形网格,可集成到游戏引擎中渲染
适用场景
- 用一套 Rust 代码开发跨平台桌面工具
- 为游戏引擎或仿真程序添加调试、参数调节面板
- 用 Rust 编写并编译为 WebAssembly 的简单 Web 应用
- 快速原型化交互式数据可视化工具
快速上手
- 1
在本地运行 egui 演示应用
cargo run --release -p egui_demo_app - 2
阅读官方文档和示例以编写自己的应用
使用前须知
- API 仍在变化中,新版本会包含破坏性更改。
- 在 Linux 上运行演示应用前需要先安装若干系统软件包。
- 它不是原生外观的 GUI,主要面向 Rust 开发者。
标签
常见问题
- egui 是什么?
- 一个易于使用的 Rust 即时模式 GUI 库,可同时运行在 Web 和原生平台,也可嵌入游戏引擎。 egui 是一个用纯 Rust 编写的即时模式(immediate mode)GUI 库。它不需要维护带回调的控件树,而是每一帧调用 UI 函数,例如 ui.button("保存").clicked(),并直接根据返回结果执行逻辑,使界面代码保持简洁,也避免界面状态与应用状态不同步。
- egui 可以免费使用吗?用的什么许可证?
- egui 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- egui 还在维护吗?
- 活跃维护中。egui 最近一次提交是在 2026年10月21日。
- egui 适合用来做什么?
- 用一套 Rust 代码开发跨平台桌面工具 为游戏引擎或仿真程序添加调试、参数调节面板 用 Rust 编写并编译为 WebAssembly 的简单 Web 应用 快速原型化交互式数据可视化工具
- egui 怎么安装和运行?
- 在本地运行 egui 演示应用: cargo run --release -p egui_demo_app 阅读官方文档和示例以编写自己的应用
- 在哪里获取 egui?
- 源代码和安装说明在 GitHub 上:https://github.com/emilk/egui
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
一款面向 Python 的复古游戏引擎,用于制作像素风格的小型游戏。
用 Rust 编写的轻量原生 Spotify 桌面客户端,支持本地播放与 Spotify Connect,覆盖 Linux、macOS 和 Windows。
一款基于 Rust 的工具,可将 AI 生成的杂乱像素画校正到规整的像素网格并统一调色板。
Dear ImGui 是一个轻量、依赖少的 C++ 即时模式图形界面库,适合开发调试工具与游戏引擎内的编辑器界面。
一个简单易用的 C 语言游戏编程库,提供 2D/3D 图形、输入、音频等功能,无外部依赖。