1

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

这是我的主要功能:

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;
}

提前感谢您的帮助。

4

1 回答 1

3

和朋友的文档说,gtk_window_set_icon()

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

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

于 2013-11-10T04:12:17.550 回答