Gtk+ Hello World.
This commit is contained in:
parent
423e0a6e7b
commit
c890da9979
@ -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
7
hammond-gtk/Cargo.toml
Normal 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
32
hammond-gtk/src/main.rs
Normal 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();
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user