22 个版本

0.9.0 2024 年 7 月 10 日
0.8.1 2024 年 3 月 7 日
0.7.2 2023 年 8 月 12 日
0.7.0 2023 年 7 月 23 日
0.2.0 2021 年 7 月 12 日

1305GUI 中排名

Download history 1748/week @ 2024-05-04 1382/week @ 2024-05-11 1241/week @ 2024-05-18 1741/week @ 2024-05-25 1337/week @ 2024-06-01 1463/week @ 2024-06-08 1291/week @ 2024-06-15 1294/week @ 2024-06-22 1053/week @ 2024-06-29 1410/week @ 2024-07-06 1676/week @ 2024-07-13 1436/week @ 2024-07-20 1458/week @ 2024-07-27 1409/week @ 2024-08-03 1606/week @ 2024-08-10 983/week @ 2024-08-17

5,667 每月下载量
7 个 crate 中使用 (通过 gdk4-wayland)

MIT 许可证

14KB
213

gtk4-rs CI

一组旨在提供完整的 GTK 4 绑定的 crate。此存储库包含所有 GTK 4 的 "核心" crate。

  • GTK
  • GDK:一个中间层,将 GTK 与窗口系统的细节隔离开来。
    • GDK Wayland:特定于 Wayland 后端的函数。
    • GDK Win32:特定于 Windows 后端的函数。
    • GDK X11:特定于 X 后端的函数。
  • GSK:一个中间层,将 GTK 与 OpenGL 或 Vulkan 实现的细节隔离开来。

GTK 4 crate 还依赖于平台的其他库,如

这些与 GTK 3 和 GStreamer 绑定相同,是 gtk-rs-core 存储库的一部分。

有关每个 crate 的更多信息,请参阅它们目录中的 README.md 文件。

最低支持的 Rust 版本

目前,最低支持的 Rust 版本是 1.70

文档

生态系统

gtk4-rs 存储库包含 GTK 4 的 Rust 库。然而,存在一个庞大的 GObject 库生态系统,其中许多库基于 gtk-rs 中的工具集提供了 Rust 绑定。特别值得一提的是

  • gtk-rs-core - 为一些核心库提供绑定,如 glibgiopangographene
  • gstreamer-rs - GStreamer 媒体框架的绑定

此外,各种库的 Rust 绑定托管在 GNOME 的 GitLab 实例上,可以在 https://gitlab.gnome.org/World/Rust 找到。

当使用不属于 gtk4-rs 存储库的 crate 时,需要小心,并确保它们不会引入与核心 crate(如 glib-rs)不兼容的版本。

使用 GTK4 Rust 绑定构建

使用 gtk4-rs 构建的应用程序的小列表

使用 gtk4-rs 构建的库

  • Relm4:受 Elm 启发的惯用 GUI 库

贡献

绑定由两部分组成

  • 使用 gir 自动生成
  • 手动部分

可以使用 generator.py 脚本生成自动部分

python3 ./generator.py

如果尚未这样做,请在通过以下方式检查所有子模块之前

$ git submodule update --checkout

gtk4-macros 之外的所有 crate 都遵循以下结构

   ./crate 
   ├── Gir.toml
   ├── README.md
   ├── src
   │   ╰── auto
   ├── sys
   ╰── tests
  • README.md:关于 crate 自身的说明以及一些细节(如果有)。
  • Gir.toml:由 gir 使用以生成大部分代码。
  • src:包含 crate 的源代码。
  • src/auto:包含源代码的自动生成部分。
  • sys:包含 C API 的 1:1 绑定。

依赖关系

~320–680KB
~14K SLoC