2009-10-30 47 views
2

我想使用C中的GTK +在VBox中顯示一個簡單的GIF圖像。我知道我需要使用GdkPixbuf。但像往常一樣,沒有這樣做的例子。誰能提供幫助嗎?如何使用GdkPixBuf?

另請參見:在GTK +中,如何將PNG圖像作爲背景添加到小部件?任何人都可以提供示例嗎?

忘帶了什麼東西來補充一點:

忘了告訴ü我使用格萊德開發GUI ... 我已經在格拉德創建VBOX,並在VBOX的區塊之一,我需要顯示圖圖片.... 對不起這個...

+0

+1因爲我也想知道如何將小部件的背景設置爲圖像。順便說一句:你應該真的接受更多的答案-_- – 2009-10-30 16:13:28

回答

4
  1. gdk_pixbuf_new_from_file() - 但見退卷的答案更好的方式來做到這一點使用GtkImage部件。
  2. 您需要設置控件的樣式結構的背景像素場:

    GtkRcStyle *newstyle = gtk_widget_get_modifier_style(widget); 
    newstyle->bg_pixmap_name[GTK_STATE_NORMAL] = g_strdup(pngfilename); 
    gtk_widget_modify_style(widget, newstyle); 
    

PS。您通常可以通過Google搜索您需要的功能來查找代碼示例。 GTK文檔通常不包含每個函數的示例,因爲這會使它們混亂,像gdk_pixbuf_new_from_file()這樣的函數的文檔通常非常簡單。我注意到你經常發佈這樣的問題,我想知道你是否在正確的地方尋找文檔。例如,您是否使用優秀的參考工具DevHelp?另一方面,GTK文檔在一些地方確實缺少一些重要的信息。如果你有一些改進,爲什麼不對文檔做出貢獻?

2

GTK +中的vbox是一個小部件,它將其他小部件顯示爲它的子項,並將它們垂直堆疊。

不出所料,有一個專門用於顯示圖像的GTK +小部件;它被稱爲GtkImage。您應該使用gtk_image_new_from_file()調用來創建一個,將它傳遞給您的GIF文件名,然後將其添加到您的vbox。沒有必要自己創建底層的GDK圖像。

+0

呃,當然你是對的。我已經編輯了我的答案來提及你的答案。 – ptomato 2009-10-30 16:19:10