38个版本
新 0.20.1 | 2024年8月12日 |
---|---|
0.20.0 | 2024年7月10日 |
0.19.9 | 2024年6月26日 |
0.19.3 | 2024年3月19日 |
0.10.1 | 2020年7月10日 |
在进程宏中排名112
每月下载量358,653
用于794个crate(3个直接)
315KB
6K SLoC
gtk-rs-core 
gtk-rs组织旨在提供基于GObject的库的安全Rust绑定。你可以在https://gtk-rs.org上了解更多。
此仓库包含gtk-rs组织的所有"核心"crate。有关每个crate的更多信息,请参阅其目录中的README.md
文件。
最低支持的Rust版本
目前,最低支持的Rust版本是1.70.0
。
文档
生态系统
gtk-rs-core仓库包含基于GObject的基础库的Rust crate。然而,存在一个庞大的GObject库生态系统,其中许多库都基于gtk-rs中的工具进行了Rust绑定。特别值得注意的是
- gtk3-rs - GTK 3的绑定
- gtk4-rs - GTK 4的绑定
- gstreamer-rs - GStreamer媒体框架的绑定
此外,Rust对各种库的绑定托管在GNOME的GitLab实例上,可以在https://gitlab.gnome.org/World/Rust找到。
当使用不属于 gtk-rs
仓库的 crate 时,您需要小心并确保它们不会引入与核心 crate(如 glib-rs
)不兼容的版本。
重新生成
要使用 gir 重新生成 crate,请按以下方式使用 generator.py
文件:
$ python3 generator.py
如果您还没有这样做,请通过以下方式检出所有子模块:
$ git submodule update --checkout
开发
该仓库主要分为两个分支:master
和 crate
。 master
包含尚未发布的代码,是新的开发正在进行的地方。 crate
包含最新的发布源代码,不应进行更新。
该仓库的结构如下
- crate/
|
|-- README.md
|-- Gir.toml
|-- Cargo.toml
|-- src/
|-- sys/
crate
是一个 "顶级" 目录(例如,这里的 "atk" 或 "gdk")。每个 crate 包含以下内容:
README.md
:关于 crate 本身的说明和一些详细信息。Cargo.toml
:crate 的描述,由cargo
和Rust
使用。Gir.toml
:由 gir 用于生成大多数 crate 代码的配置。src
:crate 的源代码。sys
:与 C API 的 1:1 绑定。
gir
和 gir-files
顶级目录不是 crate,而是包含 gir 工具和生成器使用的 gir 文件 的 git 子模块。
运行 generator.py
时,工具将自动更新这些 git 子模块,并在 gir 文件 上运行 gir 工具以重新生成代码。
在开发过程中,使用不同版本的 gir 工具或 gir 文件 执行生成器很有用,例如,在向子模块提交更新之前测试代码生成是否成功。这可以通过指定生成器脚本的参数来完成,例如,在本地 gir 文件的副本上运行生成器
$ python3 generator.py --gir-files-directory ../gir-files/
有关详细信息,请参阅 python3 generator.py --help
依赖关系
~1.4–2MB
~41K SLoC