GTK, Glade: Imagewechsel
-
Hallo,
ich habe ein kleines Problem:
Ich habe ein ToggleButton und ein Image. Wenn der ToggleButton aktiviert ist, soll ein zweites Image erscheinen. Wenn der ToggleButton nicht (mehr) aktiviert ist, soll wieder das erste Image erscheinen... bisher habe ich folgendes erreicht:
void on_bt_connection_clicked (GtkButton *button, gpointer user_data) { GtkWidget *pic_connect = (GtkWidget *) lookup_widget(window1, "pic_connect"); if (gtk_toggle_button_get_active((GtkToggleButton *) lookup_widget(window1, "tgbt_connection"))) { //gtk_image_clear((GtkImage *)pic_connect); pic_connect = gtk_image_new_from_stock ("gtk-connect", GTK_ICON_SIZE_BUTTON); gtk_widget_show (pic_connect); gtk_box_pack_start (GTK_BOX (lookup_widget(window1, "hbox33")), pic_connect, TRUE, TRUE, 0); } }
Wenn ich auf den Togglebutton drücke, erscheint zwar das zweite Image, allerdings neben dem ersten. Dabei sollte doch das erste weg sein.
Dann ich es probiert mit gtk_image_clear()... aber bei dem Befehl (z.Z. auskommentiert) erscheint die Meldung:undefined reference to 'gtk_image_clear'
Kann mir da jemand weiterhelfen?
Danke & Gruß,
toolen
-
Hm, ka wie genau das in GTK geht, aber in wx kannst du dann beim steuerelement
einfach das Image austauschen. Was für ein Widget verwendest du zum Bild anzeigen ?Und ich habe meine Zweifel ob du ein GtkWidget in ein GtkImage casten kannst, bzw. solltest.
-
Hallo,
also das mit dem Casten ist nicht das Problem, das habe ich soeben ausprobiert.
Das erste Bild wird folgendermaßen erfolgreich eingefügt. (Quellcode wurde von Glade generiert):pic_connect = gtk_image_new_from_stock ("gtk-disconnect", GTK_ICON_SIZE_BUTTON); gtk_widget_show (pic_connect); gtk_box_pack_start (GTK_BOX (hbox33), pic_connect, TRUE, TRUE, 0);
Gruß, toolen