GTK 和 Rust
关于
gtk-rs 项目包含 GTK、Cairo 和其他兼容 GLib 的库的 Rust 绑定。
Cairo、Pango、Gio、Graphene 和 GLib 的绑定是 gtk-rs core 的一部分。 GTK 4 的绑定可以在 gtk4-rs 中找到。
gtk-rs 文档
gtk4-rs
基于 GObject-Introspection 为其 API 提供了广泛的文档。 关于使用 Rust 和 GTK 4 构建 GUI 应用程序的介绍也可以通过书籍的形式获得。
gtk4-rs Github 存储库提供了额外的示例,展示了解决特定问题的方法。
一个 Hello World 应用程序
此代码展示了如何使用 gtk4-rs
创建一个简单的 Hello World 应用程序。
use glib::clone;
// glib and other dependencies are re-exported by the gtk crate
use gtk::glib;
use gtk::prelude::*;
// When the application is launched…
fn on_activate(application: >k::Application) {
// … create a new window …
let window = gtk::ApplicationWindow::new(application);
// … with a button in it …
let button = gtk::Button::with_label("Hello World!");
// … which closes the window when clicked
button.connect_clicked(clone!(@weak window => move |_| window.close()));
window.set_child(Some(&button));
window.present();
}
fn main() {
// Create a new application with the builder pattern
let app = gtk::Application::builder()
.application_id("com.github.gtk-rs.examples.basic")
.build();
app.connect_activate(on_activate);
// Run the application
app.run();
}