gtk_window_set_icon_from_file()无法正常工作

时间:2013-11-09 21:19:59

标签: c++ gtk gtk3

我正试图在我的窗口标题栏中显示我的图标。程序编译并运行正常,但图标仅显示在启动器中。

这是我的主要功能:

int main(int argc, char * argv[])
{  
    GtkWidget * window;

    gtk_init(&argc, &argv);

    window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    gtk_window_set_title(GTK_WINDOW(window), "My Window");
    gtk_window_set_default_size(GTK_WINDOW(window), 600, 600);
    gtk_window_set_position(GTK_WINDOW(window), GTK_WIN_POS_CENTER);
    gtk_window_set_icon_from_file(GTK_WINDOW(window), "img/icon.png", NULL);

    gtk_widget_show(window);

    g_signal_connect_swapped(G_OBJECT(window), "destroy", G_CALLBACK(gtk_main_quit), NULL);

    gtk_main();

    return 0;
}

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

gtk_window_set_icon()的{​​{3}}和朋友说,

  

窗口最小化时也使用此图标(也称为图标化)。某些窗口管理器或桌面环境也可能将其放在窗口框架中,或在其他上下文中显示它。

因此不需要在标题栏中显示图标;这由桌面环境中的窗口管理器决定。 Gnome和Unity中的默认窗口管理器目前都没有这样做。