[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