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 }