Gtk es una libreria para la creación de GUI (Interfaz Gráfica de Usuario) que soporta varios lenguajes entre ellos C
Ademas puedes utilizar
Glade para diseñar la ventana y luego
libglade para cargarla en tu programa.
Manual de Referencia de LibGlade(en inglés) http://web.mit.edu/ghudson/dev/nognome/third/libglade/doc/html/libglade.html Tutorial de Gtk + Glade 3 (en inglés) http://www.micahcarrick.com/01-01-2008/gtk-glade-tutorial-part-3.html
Este es un pequeño ejemplo, utilizando el buen IDE Dev-C++
Código C:
Ver original// Autor Jorge Ramírez.
#include<gtk/gtk.h>
#include<stdio.h>
#include<glade/glade.h>
GladeXML *xml;
GtkWidget *ventanaPrincipal;
void on_window_destroy( GtkObject *object , gpointer userdata){
gtk_main_quit();
}
int main(int argc, char **argv){
gtk_init(&argc, &argv);
xml = glade_xml_new("ventanaNuevo.glade", NULL, NULL);
// Obtenemos la ventana principal
ventanaPrincipal = glade_xml_get_widget(xml, "ventanaNuevo");
/* conectamos los eventos con las funciones que manejan dichos eventos */
g_signal_connect( G_OBJECT (ventanaPrincipal), "destroy",
G_CALLBACK(on_window_destroy) ,NULL );
glade_xml_signal_autoconnect(xml);
gtk_widget_show(ventanaPrincipal);
gtk_main();
return 0;
}