#gtk #gnome #glade

已弃用 gladis_proc_macro

已弃用。请使用 gtk-rs 的 CompositeTemplate derive 宏代替。

14 个版本 (6 个稳定版)

2.1.2 2022 年 5 月 12 日
2.0.0 2022 年 2 月 17 日
1.0.1 2021 年 9 月 20 日
1.0.0 2021 年 7 月 5 日
0.4.0 2020 年 7 月 30 日

#8#glade

每月 26 次下载
用于 3 crates

MIT/Apache

8KB

gladis

Maintenance status is "deprecated" Build Latest version Documentation License REUSE status

轻松将 Glade 生成的 UI 文件导入 Rust 代码。

此 crate 已弃用。
请使用来自 CompositeTemplategtk3-macrosgtk4-macros 官方 GTK crates。

用法

为了使用 Gladis,您必须将以下依赖项添加到项目的 Cargo.toml 文件中

[dependencies]
gladis = "2.1.2"

完成此操作后,您就可以享受 Gladis derive 的便利了!

#[derive(Gladis, Clone)]
pub struct Window {
    pub window: gtk::ApplicationWindow,
    pub label: gtk::Label,
}

impl Window {
    pub fn new() -> Self {
        Self::from_resource("/dev/null/hello_builder/window.ui").unwrap()
    }
}

没有 Gladis,您将不得不手动解析每个 Glade 条目。

pub struct Window {
    pub window: gtk::ApplicationWindow,
    pub label: gtk::Label,
}

impl Window {
    pub fn new() -> Self {
        let builder = gtk::Builder::from_resource("/dev/null/hello_builder/window.ui");
        let window: gtk::ApplicationWindow = builder
            .object("window")
            .expect("Failed to find the window object");

        let label: gtk::Label = builder
            .object("label")
            .expect("Failed to find the label object");

        Self { window, label }
    }
}

Relm 支持

此 crate 与流行的 GTK+ UI 编写框架 Relm 兼容。请参阅 examples/relm 目录,并尝试一下!

许可证

根据您的选择,在 Apache 许可证,版本 2.0MIT 许可证 下许可。

除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交以包含在此项目中的任何贡献,都将按照上述方式双许可,不添加任何额外的条款或条件。

依赖项

~1.5MB
~35K SLoC