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

这是我的主要功能:

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

在此先感谢您的帮助。

最佳答案

gtk_window_set_icon()和 friend 的documentation说,



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

关于c++ - gtk_window_set_icon_from_file()无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19883234/

10-13 06:55