#gtk #gnome #glade #proc-macro

gladis4_proc_macro

轻松将 Glade 生成的 UI 文件导入 Rust 代码(proc 宏)

1 个不稳定版本

0.1.0 2022年2月8日

#7#glade


用于 gladis4

MIT/Apache

7KB

Gladis 4

Gladis 衍生。

Documentation License

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

使用方法

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

[dependencies]
gladis4 = "0.1.0"

完成此操作后,您就可以享受 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 支持

此包与 Relm4 兼容,这是一个流行的用于使用 GTK+ 编写 UI 的框架。请参阅 examples/relm 目录,并尝试一下!

许可证

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

除非您明确表示,否则根据 Apache-2.0 许可证定义,您有意提交的任何贡献,均应按上述方式双许可,不附加任何其他条款或条件。

依赖项

~1.5MB
~35K SLoC