14 个版本 (破坏性更新)
1.0.0-alpha |
|
---|---|
0.11.1 | 2024年1月15日 |
0.10.0 | 2023年2月10日 |
0.9.0 | 2022年1月15日 |
0.1.0 | 2018年12月27日 |
742 在 GUI
每月46 次下载
735KB
19K SLoC
Rust Handy 绑定
此库包含对 Handy 的安全 Rust 绑定,Handy 是一个提供构建块以构建现代自适应 GNOME 应用程序的库。
另请参阅
示例
use gtk::prelude::*;
use gtk::{Application, Box, ListBox, Orientation};
use libhandy::prelude::*;
use libhandy::{ActionRow, ApplicationWindow, HeaderBar};
fn main() {
let application = Application::builder()
.application_id("com.example.FirstHandyApp")
.build();
application.connect_activate(|app| {
libhandy::init();
// ActionRows are only available in Handy
let row = ActionRow::builder()
.activatable(true)
.selectable(false)
.margin(32)
.title("Click me")
.build();
row.connect_activated(|_| {
eprintln!("Clicked!");
});
let list = ListBox::builder().child(&row).build();
// the content class makes the list look nicer
list.style_context().add_class("content");
// Combine the content in a box
let content = Box::new(Orientation::Vertical, 0);
// Handy's ApplicationWindow does not include a HeaderBar
content.add(
&HeaderBar::builder()
.show_close_button(true)
.title("First Handy Program")
.build(),
);
content.add(&list);
let window = ApplicationWindow::builder()
.default_width(350)
.default_height(70)
// add content to window
.child(&content)
.build();
window.set_application(Some(app));
window.show_all();
});
application.run();
}
依赖项
~17MB
~403K SLoC