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 日 |
1305 在 GUI 中排名
5,667 每月下载量
在 7 个 crate 中使用 (通过 gdk4-wayland)
14KB
213 行
gtk4-rs
一组旨在提供完整的 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 - 为一些核心库提供绑定,如
glib
、gio
、pango
、graphene
- gstreamer-rs - GStreamer 媒体框架的绑定
此外,各种库的 Rust 绑定托管在 GNOME 的 GitLab 实例上,可以在 https://gitlab.gnome.org/World/Rust 找到。
当使用不属于 gtk4-rs
存储库的 crate 时,需要小心,并确保它们不会引入与核心 crate(如 glib-rs
)不兼容的版本。
使用 GTK4 Rust 绑定构建
使用 gtk4-rs 构建的应用程序的小列表
- Solanum:番茄计时器
- Shortwave:网络收音机播放器
- Authenticator:双因素代码生成器
- Health:健康跟踪应用程序
- Video Trimmer:快速视频剪辑器
使用 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