Linux上未显示Qt图标
我试图让我的应用程序(FlatSiteBuilder)在Ubuntu的任务栏上显示一个图标。 一个小的演示应用程序正在使用以下代码正确地执行此操作Linux上未显示Qt图标,qt,ubuntu,icons,Qt,Ubuntu,Icons,我试图让我的应用程序(FlatSiteBuilder)在Ubuntu的任务栏上显示一个图标。 一个小的演示应用程序正在使用以下代码正确地执行此操作 QApplication a(argc, argv); a.setWindowIcon(QIcon(QLatin1String(":/images/icon.svg"))); 但当我尝试在我的应用程序中执行此操作时,只会显示问号图标。 当我尝试在.pro文件中将演示应用程序的目标更改为FlatSiteBuilder时,图标不再显示。 例如,当我尝试
QApplication a(argc, argv);
a.setWindowIcon(QIcon(QLatin1String(":/images/icon.svg")));
但当我尝试在我的应用程序中执行此操作时,只会显示问号图标。当我尝试在.pro文件中将演示应用程序的目标更改为FlatSiteBuilder时,图标不再显示。
例如,当我尝试将演示应用程序的目标更改为Gimp时,会显示Gimp图标 Ubuntu显示Gimp图标的信息存储在哪里?
Ubuntu没有显示FlatSiteBuilder图标的信息存储在哪里 My.pro文件
TARGET=IconTest
->显示正确的图标TARGET=IconTest2
->显示正确的图标TARGET=FlatSiteBuilder
->显示问号图标TARGET=Gimp
->显示Gimp图标与Windows或macOS(应用程序图标与可执行文件捆绑在一起)不同,Linux在处理此类资源时的行为略有不同。事实上,图标可以存储在多个位置。例如,您可以将SVG图标文件放在此处:
/usr/share/icons/hicolor/scalable/apps/FlatSiteBuilder.svg
然后从终端刷新GTK图标缓存:
sudo update-icon-caches /usr/share/icons/*
哦,一个缓存…那么这个行为就有意义了。。。它现在可以工作了,没有任何变化。刚刚切换到调试模式。重新启动应用程序,图标可见。现在AppImage也显示了图标。