On Tue, 2006-01-17 at 15:29 +0100, Daniel Dieterle wrote: > hallo everybody, > > since some days i try to code my first gtk program. it 's not more than > a window with a label in it. > the code is that: > > #include <gtk/gtk.h> > > > > > > int main( int argc, > > char *argv[] ) > > { > > GtkWidget *window1; > > GtkWidget *label1; > > > > gtk_init (&argc, &argv); > > > > window1 = gtk_window_new (GTK_WINDOW_TOPLEVEL); > > label1 = gtk_label_new ("Hallo Du"); > > > > gtk_container_add (GTK_CONTAINER (window1), label1); > > > > gtk_widget_show (label1); > > gtk_widget_show (window1); > > > > // sleep(1); > > // gtk_label_set_text (label1,"wie gehts?"); > > > > gtk_main (); > > > > return 0; > > } > > there is no thing to warry about. > but my aim is to change the text in the label. and if i uncomment the > "gkt_label_set_text ..."-line, gcc (gcc label.c `pkg-config --cflags > --libs gtk+-2.0`) shows a warning: > > label.c: In Funktion »main«: > > label.c:22: Warnung: Verarbeiten des Argumentes 1 von »gtk_label_set_text« > > von inkompatiblem Zeigertyp > which means that the "label1" in the "set_text"-line is a incompatible > pointertype, i think. > > do anybody know, what i'm doing wrong?
You should declare the label1 variable as GtkLabel*. The compiler complains because you use a more general GtkWidget pointer as GtkLabel pointer. Besides, the program will not display the original text, since the main loop must be run to display anything. Consider defining a call back that sets the label. Then you can tell Gtk to call that call back after 1s using g_timeout_add: http://developer.gnome.org/doc/API/2.0/glib/glib-The-Main-Event- Loop.html#g-timeout-add Axel. _______________________________________________ gtk-app-devel-list mailing list gtk-app-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-app-devel-list