GTK Ventana Vacia
From Movaxes
Este código crea una ventana vacía y nos permite cerrarla, es mi pequeño 'HOLA MUNDO'.
/*----------------------------------------------------------------------------*
* Programa: Ventana Gtk Vacia *
*-----------------------------------------------------------------------------*
* Para mas informacion sobre el API de gtk visita: http//www.gtk.org *
*-----------------------------------------------------------------------------*/
// Cabecera de GTK
#include <gtk/gtk.h>
/******************************/
/* FUNCIONES */
/******************************/
static gboolean salir(GtkWidget *widget, GdkEvent *event, gpointer data);
/******************************/
/* MAIN */
/******************************/
int main( int argc, char *argv[] )
{
//el puntero a nuestra ventana
GtkWidget *ventana;
//pasamos los argumentos a gtk
gtk_init(&argc, &argv);
/*****************
* VENTANA *
******************/
//creamos una nueva ventana
ventana = gtk_window_new(GTK_WINDOW_TOPLEVEL);
//ponemos el tamaño de la ventana
gtk_widget_set_size_request(GTK_WIDGET(ventana),200,200);
//le decimos a gtk que la ventana no puede cambiar de tamaño
gtk_window_set_resizable(GTK_WINDOW(ventana),FALSE);
//ponemos el titulo de la ventana
gtk_window_set_title(GTK_WINDOW(ventana),"HOLA MUNDO");
//ponemos el borde de la ventana
gtk_container_set_border_width(GTK_CONTAINER(ventana),10);
//ponemos el callback salir (llamado cada vez que sucede el evento 'delete_event'
g_signal_connect(G_OBJECT(ventana), "delete_event", G_CALLBACK(salir), NULL);
//mostramos la ventana
gtk_widget_show(ventana);
/*****************
* GTK_MAIN *
******************/
gtk_main ();
return 0;
};
/*------------------salir---------------------*/
/* esta funcion será llamada cuando */
/* la ventana reciba el evento 'delete_event' */
/* termina con nuestro programa
/*--------------------------------------------*/
static gboolean salir(GtkWidget *widget, GdkEvent *event, gpointer data)
{
//salimos de 'gtk_main'
gtk_main_quit();
return TRUE; //si regresamos FALSE se destruye la ventana principal
};
Para compilar utiliza:
gcc -Wall -g empty2.c -o empty2 `pkg-config --cflags gtk+-2.0 pkg-config --libs gtk+-2.0`

