Gtk+ Hello World.

This commit is contained in:
Jordan Petridis 2017-10-05 21:15:53 +03:00
parent 423e0a6e7b
commit c890da9979
No known key found for this signature in database
GPG Key ID: CEABAD9F5683B9A6
3 changed files with 41 additions and 1 deletions

View File

@ -2,5 +2,6 @@
members = [ members = [
"hammond-data", "hammond-data",
"hammond-cli", "hammond-cli",
"hammond-downloader" "hammond-downloader",
"hammond-gtk"
] ]

7
hammond-gtk/Cargo.toml Normal file
View File

@ -0,0 +1,7 @@
[package]
name = "hammond-gtk"
version = "0.1.0"
authors = ["Jordan Petridis <jordanpetridis@protonmail.com>"]
[dependencies]
gtk = { version = "0.2.0", features = ["v3_22"]}

32
hammond-gtk/src/main.rs Normal file
View File

@ -0,0 +1,32 @@
extern crate gtk;
use gtk::prelude::*;
fn main() {
if gtk::init().is_err() {
println!("Failed to initialize GTK.");
return;
}
let window = gtk::Window::new(gtk::WindowType::Toplevel);
window.set_title("Hello");
window.set_border_width(10);
window.set_position(gtk::WindowPosition::Center);
window.set_default_size(200, 200);
window.connect_delete_event(|_, _| {
gtk::main_quit();
Inhibit(false)
});
let button = gtk::Button::new_with_label("Say Hi!");
button.connect_clicked(|_| {
println!("Hello World!");
});
window.add(&button);
window.show_all();
gtk::main();
}