首页 > 代码库 > GTK 添加图标

GTK 添加图标

 1 #include<gtk/gtk.h> 
 2 
 3 /*从一个图象文件中生成 GdkPixbuf 类型数据*/
 4 GdkPixbuf * create_pixbuf(const gchar *filename)
 5 {
 6     GdkPixbuf *pixbuf;
 7     GError *error = NULL;
 8     pixbuf = gdk_pixbuf_new_from_file(filename, &error);
 9     if(!pixbuf)
10     {
11         fprintf(stderr,"%s\n",error->message);
12         g_error_free(error);
13     }
14     return pixbuf;
15 }
16 
17 int main(int argc, char **argv)
18 {
19     GtkWidget *window;
20     
21     /*初始化gtk+程序*/
22     gtk_init(&argc, &argv);
23     
24     /*生成了一个构件-GtkWindow,种类是GTK_WINDOW_TOPLEVEL,他有一个标题栏和一个边框,同意由窗口管理器进行管理*/
25     window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
26     
27     /*设置标题*/
28     gtk_window_set_title(GTK_WINDOW(window),"icon");
29     
30     /*默认大小为230*150 像素*/
31     gtk_window_set_default_size(GTK_WINDOW(window),230,150);
32     
33     /*窗口位置在中间*/
34     gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
35     
36     /*创建任务栏上的图标*/
37     gtk_window_set_icon(GTK_WINDOW(window),create_pixbuf("window.ico"));
38 
39     /*显示窗口*/
40     gtk_widget_show(window);
41 
42     /*连接上一个关闭的信号(the destroy signal),就是 gtk_main_quit() 这个函数*/
43     g_signal_connect_swapped(G_OBJECT(window),"destroy",G_CALLBACK(gtk_main_quit),NULL);
44 
45     gtk_main();
46     
47     return 0;
48 }