Можно ли как-то сменить картинку на виджете не разрушая его, допустим, чтобы по кнопке «Up» чтобы грузился «2.png» ?
#include <gtk/gtk.h> #include <gdk-pixbuf/gdk-pixbuf.h> #include <gdk/gdkkeysyms.h>
static GdkPixbuf *image; static GtkWidget *win;
//реакция на кнопки static void which_key_press (GtkWidget *widget, GdkEventKey *event, gpointer data) { switch (event->keyval){ case GDK_Up: //????? break; case GDK_Down: //????? break; default: break; } }
int main (int argc, char **argv) { gtk_init (&argc, &argv);
image=gdk_pixbuf_new_from_file («1.png», NULL); win = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_position (GTK_WINDOW (win), GTK_WIN_POS_CENTER_ALWAYS); gtk_container_add (GTK_CONTAINER (win), gtk_image_new_from_pixbuf (image)); g_signal_connect (GTK_OBJECT(win), «destroy», gtk_main_quit, NULL); g_signal_connect (G_OBJECT (win), «key_press_event», G_CALLBACK (which_key_press), NULL);
gtk_widget_show_all(win); gtk_main(); return 0; }