Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <gtk/gtk.h>
- #include <gdk/gdkx.h>
- // cc -Wall example1-gtk.c -o example1-gtk `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`
- static void button_clicked (GtkWidget * widget, gpointer data)
- {
- g_print("Button was clicked!\n");
- }
- static gboolean delete_event (GtkWidget * widget, GdkEvent * event, gpointer data)
- {
- g_print("Delete event occurred\n");
- return FALSE;
- }
- static void destroy (GtkWidget * widget, gpointer data)
- {
- g_print("Destroy signal was sent\n");
- gtk_main_quit();
- }
- int main(int argc, char ** argv)
- {
- GtkWidget * window;
- GtkWidget * button;
- const gchar * title = "Hello World!";
- gtk_init (&argc, &argv);
- window = gtk_window_new (GTK_WINDOW_TOPLEVEL);
- gtk_window_set_title (GTK_WINDOW (window), title);
- gtk_container_set_border_width (GTK_CONTAINER (window), 25);
- g_signal_connect (G_OBJECT(window), "delete_event", G_CALLBACK (delete_event), NULL);
- g_signal_connect (G_OBJECT (window), "destroy", G_CALLBACK (destroy), NULL);
- button = gtk_button_new_with_label ("Quit");
- g_signal_connect (G_OBJECT (button), "clicked", G_CALLBACK (button_clicked), NULL);
- g_signal_connect_swapped (G_OBJECT (button), "clicked", G_CALLBACK (gtk_widget_destroy), G_OBJECT (window));
- gtk_container_add (GTK_CONTAINER (window), button);
- gdk_window_set_decorations (GTK_WIDGET(window)->window, GDK_DECOR_BORDER | GDK_DECOR_TITLE);
- gtk_widget_show (button);
- gtk_widget_show (window);
- gtk_main();
- return 0;
- }
Add Comment
Please, Sign In to add comment