24 个版本
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 日 |
#1109 在 GUI 中
58,354 每月下载量
在 140 个 crate 中使用 (直接使用 18 个)
245KB
5K SLoC
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
。
文档
有用的链接
- 网站
- Discourse
- Matrix: #rust:gnome.org
生态系统
《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绑定。
依赖
~1.3–8.5MB
~70K SLoC