35 个版本

0.20.1 2024年8月12日
0.20.0 2024年7月10日
0.19.8 2024年6月19日
0.19.0 2024年2月4日
0.2.1 2015年10月20日

715GUI 中排名

Download history 84733/week @ 2024-05-03 81723/week @ 2024-05-10 82424/week @ 2024-05-17 81692/week @ 2024-05-24 79816/week @ 2024-05-31 70839/week @ 2024-06-07 79129/week @ 2024-06-14 76784/week @ 2024-06-21 82024/week @ 2024-06-28 78890/week @ 2024-07-05 83297/week @ 2024-07-12 83122/week @ 2024-07-19 89123/week @ 2024-07-26 83951/week @ 2024-08-02 89875/week @ 2024-08-09 79968/week @ 2024-08-16

每月下载量 357,037
用于 816 个 crate (93 个直接)

MIT 许可证

1MB
25K SLoC

gtk-rs-core CI

gtk-rs 组织旨在提供基于 GObject 库的 Rust 安全绑定。您可以在 https://gtk-rs.org 上了解更多信息。

本仓库包含 gtk-rs 组织的所有“核心”crate。有关每个 crate 的更多信息,请参阅其目录中的 README.md 文件。

最低支持的 Rust 版本

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

文档

生态系统

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

此外,各种库的 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

开发

该仓库主要分为两个分支:mastercratemaster 包含尚未发布的代码,这里是新开发的地方。 crate 包含最新发布的源代码,不应该更新。

该仓库的结构如下

- crate/
   |
   |-- README.md
   |-- Gir.toml
   |-- Cargo.toml
   |-- src/
   |-- sys/

crate 是一个 "顶层" 目录(例如,这里可以是 "atk" 或 "gdk")。每个 crate 包含以下内容:

  • README.md:关于 crate 自身的说明和可能的详细信息。
  • Cargo.toml:crate 的描述,由 cargoRust 使用。
  • Gir.toml:由 gir 使用的配置,用于生成大多数 crate 的代码。
  • src:crate 的源代码。
  • sys:与 C API 1:1 绑定。

girgir-files 顶层目录不是 crate,而是 git 子模块,分别包含 gir 工具和生成器使用的 gir 文件

运行 generator.py 时,工具将自动更新这些 git 子模块,并在 gir 文件 上运行 gir 工具以重新生成代码。

在开发过程中,执行带有不同版本的 gir 工具或 gir 文件 的生成器很有用,例如,在向子模块提交更新请求之前测试代码生成是否成功。这可以通过指定生成器脚本的参数来完成,例如,在本地 gir 文件的副本上运行生成器

$ python3 generator.py --gir-files-directory ../gir-files/

有关详细信息,请参阅 python3 generator.py --help

依赖关系

~0–8.5MB
~65K SLoC