5个版本 (1个稳定版本)
2.2.0 | 2023年7月21日 |
---|---|
0.1.0-alpha.4 | 2021年3月14日 |
0.1.0-alpha.3 | 2020年12月30日 |
0.1.0-alpha.2 | 2020年11月28日 |
0.1.0-alpha | 2020年6月13日 |
#198 in #gnome
用于 2 crates
16KB
90 行
gladis
轻松将Glade生成的UI文件导入Rust代码。
此crate是已弃用的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支持
此crate与Relm兼容,Relm是使用GTK+编写UI的流行框架。查看examples/relm
目录,并试一试!
许可证
根据您的选择,受Apache License,版本2.0或MIT许可证的许可。
除非您明确表示,否则您提交的任何贡献,根据Apache-2.0许可证的定义,将按上述方式双重许可,不附加任何额外条款或条件。
依赖项
~17MB
~400K SLoC