我试图在窗口标题栏中显示我的图标。该程序可以编译并正常运行,但是该图标仅在启动器中显示。
这是我的主要功能:
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/