[C con Clase] gtk label set text no me funciona

Hl3 halowin3 en gmail.com
Lun Oct 17 15:06:04 CEST 2011


Dejo aqui una muestra de como cambiar el texto a la etiqueta y seņalando donde estaba el erro.

Espero que le sirva a alguien

***************************

#include <gtk/gtk.h>
//#include <string.h>
//#include <stdio.h>


GtkWidget *label;  //<-- error solucionado aqui


void clik( GtkWidget *widget, gpointer   data ){   
  gtk_label_set_text(GTK_LABEL(label),"Me han cambiado el texto");
}


void destroy( GtkWidget *widget, gpointer   data ){
  gtk_main_quit ();
}

gint delete_event( GtkWidget *widget,GdkEvent  *event, gpointer   data ){
g_print ("delete event occurred\n");

/* Change TRUE=no cierra to FALSE=si cierra */
g_print ("Adios\n"); // esto sale por la consola si el prg se abrio desde ella
return FALSE;
}


int main( int   argc, char *argv[] ){

GtkWidget *ventana;
GtkWidget *boton;
//GtkWidget *label; //<-- error estaba aqui
GtkWidget *vbox;

gtk_init (&argc, &argv);

//creamos la ventana
ventana = gtk_window_new (GTK_WINDOW_TOPLEVEL);
g_signal_connect (G_OBJECT (ventana), "delete_event",G_CALLBACK (delete_event), NULL);
g_signal_connect (G_OBJECT (ventana), "destroy",G_CALLBACK (destroy), NULL);

//creo el contenedor de widgets
vbox = gtk_vbox_new(FALSE, 0);
gtk_container_add(GTK_CONTAINER(ventana), vbox);
	
//creamos un boton
boton = gtk_button_new_with_label("Pincha aqui");
g_signal_connect (G_OBJECT (boton), "clicked",G_CALLBACK (clik), NULL);

//creo la label
label=gtk_label_new("Soy la etiquete");
	
//aņadimos widgets a la vbox
gtk_box_pack_start(GTK_BOX(vbox), boton, FALSE, FALSE, 3);
gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 3);

//los hacemos visibles
gtk_widget_show_all(ventana);
	

gtk_main ();

return 0;
}


Más información sobre la lista de distribución Cconclase