[問題] GTK 要怎樣在固定時間重繪圖片?

看板Linux作者 (方格子)時間16年前 (2010/04/15 17:24), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串1/1
更正確來說 我想要做到的是 在需要的時候,將畫面重新繪製 我的畫面中是要貼圖片的 在需要的時候,要移動圖片的位置 查了一下網路上的資料 卻還是找不到解決方法 想問大大有方法嗎? --- 這是目前要修改的code: #include <gtk/gtk.h> gboolean expose_event_callback(GtkWidget *widget, GdkEventExpose *event, gpointer data) { GdkGC *gc = widget->style->fg_gc[GTK_WIDGET_STATE(widget)]; GdkDrawable *drawable = widget->window; gdk_draw_pixbuf(drawable, gc, gdk_pixbuf_new_from_file("caterpillar.jpg", NULL) , 0, 0, 150, 10, -1, -1, GDK_RGB_DITHER_NORMAL, 0, 0); return TRUE; } int main(int argc, char *argv[]) { GtkWidget *window; GtkWidget *drawing_area; gtk_init(&argc, &argv); window = gtk_window_new(GTK_WINDOW_POPUP); drawing_area = gtk_drawing_area_new(); gtk_widget_set_size_request(drawing_area, 350, 200); g_signal_connect(GTK_OBJECT(drawing_area), "expose_event", G_CALLBACK(expose_event_callback), NULL); gtk_container_add(GTK_CONTAINER(window), drawing_area); g_signal_connect(GTK_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL); gtk_widget_show_all(window); gtk_main(); return 0; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 120.126.194.175

04/15 19:41, , 1F
我想你會需要 gdk_window_invalidate_rect
04/15 19:41, 1F

04/15 19:42, , 2F
它會送signal 強制目標視窗重繪
04/15 19:42, 2F
文章代碼(AID): #1Bnjingo (Linux)