hola_mundo_actualizado.c

   1 /**
   2  * hola_mundo_actualizado.c 
   3  *
   4  * @author Tony Gale, Ian Main & the GTK team
   5  *
   6  * Ejemplifica como poner dos botones uno al lado del otro y poner la
   7  * señal de cerrar la ventana y un manejador de señal para los dos
   8  * botones. Basado en el programa ''An Upgraded Hello world'' de
   9  * '''GTK+ 2.0 Tutorial''', que se puede encontrar en:
  10  * http://www.gtk.org/tutorial/
  11  *
  12  * Este programa se compila en la línea de comando de la siguiente
  13  * forma:
  14  *
  15  *  gcc -Wall -pedantic -o hola_mundo_actualizado hola_mundo_actualizado.c `pkg-config --cflags --libs gtk+-2.0`
  16  */
  17 
  18 #include <gtk/gtk.h>
  19 
  20 static void callback(GtkWidget *widget, gpointer datos){
  21   g_print("Hola: has presionado el [%s].\n", (gchar *) datos);
  22 }
  23 
  24 static gboolean borrar(GtkWidget *widget, GdkEvent *evento, gpointer datos){
  25   gtk_main_quit();
  26   return FALSE;
  27 }
  28 
  29 int main(int argc, char *argv[]){
  30   GtkWidget *ventana;
  31   GtkWidget *boton;
  32   GtkWidget *caja1;
  33 
  34   gtk_init(&argc, &argv);
  35   ventana = gtk_window_new(GTK_WINDOW_TOPLEVEL);
  36   gtk_window_set_title(GTK_WINDOW(ventana), "Hola botones!");
  37   g_signal_connect(G_OBJECT(ventana), "delete_event", G_CALLBACK(borrar), NULL);
  38   gtk_container_set_border_width(GTK_CONTAINER(ventana), 10);
  39   caja1 = gtk_hbox_new(FALSE, 0);
  40   gtk_container_add(GTK_CONTAINER(ventana), caja1);
  41   boton = gtk_button_new_with_label("Boton 1");
  42   g_signal_connect(G_OBJECT(boton), "clicked", G_CALLBACK(callback), (gpointer) "boton 1");
  43   gtk_box_pack_start(GTK_BOX(caja1), boton, TRUE, TRUE, 0);
  44   gtk_widget_show(boton);
  45   boton = gtk_button_new_with_label("Boton 2");
  46   g_signal_connect(G_OBJECT(boton), "clicked", G_CALLBACK(callback), (gpointer) "boton 2");
  47   gtk_box_pack_start(GTK_BOX(caja1), boton, TRUE, TRUE, 0);
  48   gtk_widget_show(boton);
  49   gtk_widget_show(caja1);
  50   gtk_widget_show(ventana);
  51   gtk_main();
  52 
  53   return 0;
  54 }

CategoryLenguajeC | CategoryProgramacion

LenguajeC/Programas/hola_mundo_actualizado.c (last edited 2008-04-20 14:40:01 by localhost)