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

Download history 13809/week @ 2024-04-29 11671/week @ 2024-05-06 10671/week @ 2024-05-13 10112/week @ 2024-05-20 10971/week @ 2024-05-27 12115/week @ 2024-06-03 12423/week @ 2024-06-10 13553/week @ 2024-06-17 11766/week @ 2024-06-24 9731/week @ 2024-07-01 11383/week @ 2024-07-08 12654/week @ 2024-07-15 15844/week @ 2024-07-22 13944/week @ 2024-07-29 13620/week @ 2024-08-05 12492/week @ 2024-08-12

每月下载量 57,631
用于 127 个 Crates(直接使用 2 个)

MIT 许可证

340KB
7K SLoC

gtk4-rs CI

一组旨在提供完整 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

文档

生态系统

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

  • gtk-rs-core - 一些核心库的绑定,如glibgiopangographene
  • gstreamer-rs - GStreamer媒体框架的绑定

此外,各种库的Rust绑定托管在GNOME的GitLab实例上,可在https://gitlab.gnome.org/World/Rust找到。

当使用不属于gtk4-rs仓库的crate时,您需要小心并确保它们不会引入与核心crate如glib-rs不兼容的版本。

使用GTK4 Rust绑定构建

使用gtk4-rs构建的应用程序的小列表

使用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