#gtk #gnome #glade #macro-derive

已弃用 glade_derive

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

2 个版本 (1 个稳定版)

2.2.0 2023 年 7 月 21 日
0.1.0-alpha2020 年 6 月 13 日

#9#glade


glade 中使用

MIT/Apache

8KB

gladis

Build Latest version Documentation License REUSE status

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

此包是已弃用的 https://github.com/gagath/gladis 的分支,以保持向后兼容性

使用方法

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

[dependencies]
glade = "2.2.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 支持

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

许可证

根据您的选择,此软件受Apache 许可证,版本 2.0MIT 许可证许可。

除非您明确声明,否则您提交给此项目的任何有意贡献,根据 Apache-2.0 许可证的定义,将双重许可如上所述,不附加任何额外条款或条件。

依赖项

~1.5MB
~35K SLoC