https://gtk-rs.org/gtk4-rs/stable/latest/book/introduction.html
--- /dev/null
+[package]
+name = "gtk4-hello-world"
+version = "0.1.0"
+edition = "2021"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+gtk = { version = "0.4", package = "gtk4" }
--- /dev/null
+use gtk::prelude::*;
+use gtk::{
+ Application, ApplicationWindow,
+ Button
+};
+
+fn build_ui(app: &Application) {
+ let button = Button::builder()
+ .label("Click me!")
+ .margin_top(12)
+ .margin_bottom(12)
+ .margin_start(12)
+ .margin_end(12)
+ .build();
+
+ button.connect_clicked(move |button| {
+ button.set_label("Hello world!");
+ });
+
+ let window = ApplicationWindow::builder()
+ .application(app)
+ .title("Hello GTK")
+ .child(&button)
+ .build();
+
+ window.present();
+}
+
+fn main() {
+ let app = Application::builder()
+ .application_id("ork.gtk-rs.example")
+ .build();
+
+ app.connect_activate(build_ui);
+ app.run();
+}