23 个版本
0.9.0 | 2024年7月10日 |
---|---|
0.8.1 | 2024年3月7日 |
0.7.3 | 2023年9月23日 |
0.7.0 | 2023年7月23日 |
0.2.0 | 2021年7月12日 |
在 GUI 中排名第 1263
每月下载量 57,631
用于 127 个 Crates(直接使用 2 个)
340KB
7K SLoC
gtk4-rs
一组旨在提供完整 GTK 4 绑定的 Crates。此仓库包含 GTK 4 的所有 "核心" Crates。
- GTK
- GDK:一个中间层,将 GTK 与窗口系统细节隔离开。
- GDK Wayland:特定于 Wayland 后端的函数。
- GDK Win32:特定于 Windows 后端的函数。
- GDK X11:特定于 X 后端的函数。
- GSK:一个中间层,将 GTK 与 OpenGL 或 Vulkan 实现的细节隔离开。
GTK 4 Crates 还依赖于平台中的其他库,如
这些与 GTK 3 和 GStreamer 绑定通用,并包含在 gtk-rs-core 仓库中。
有关每个 Crates 的更多信息,请参阅其目录中的 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.4–8.5MB
~73K SLoC