【问题标题】:Qt Icon not shown on LinuxQt 图标未在 Linux 上显示
【发布时间】:2017-09-29 15:15:14
【问题描述】:

我正在尝试让我的应用程序 (FlatSiteBuilder) 在 Ubuntu 的任务栏上显示一个图标。 一个小型演示应用程序使用以下代码正确执行此操作。

QApplication a(argc, argv);
a.setWindowIcon(QIcon(QLatin1String(":/images/icon.svg")));

但是当我尝试在我的应用中执行此操作时,只显示 QuestionMarkIcon。
当我尝试在 .pro 文件中将演示应用程序的目标更改为 FlatSiteBuilder 时,图标不再显示。
例如,当我尝试将演示应用程序的目标更改为 Gimp 时,会显示 Gimp-Icon。

Ubuntu 显示 Gimp-Icon 的信息存储在哪里?
Ubuntu 未显示 FlatSiteBuilder 图标的信息存储在哪里?

我的 .pro 文件
TARGET = IconTest -> 显示正确的图标
TARGET = IconTest2 -> 显示正确的图标
TARGET = FlatSiteBuilder -> 显示问号图标
TARGET = Gimp - > 显示 Gimp 图标

【问题讨论】:

    标签: qt ubuntu icons


    【解决方案1】:

    与 Windows 或 macOS(应用程序图标与可执行文件捆绑在一起)不同,Linux 在处理此类资源时的行为有点不同。事实上,有多个位置可以存储图标。例如,您可以将 SVG 图标文件放在这里:

    /usr/share/icons/hicolor/scalable/apps/FlatSiteBuilder.svg
    

    然后从终端刷新 GTK 图标缓存:

    sudo update-icon-caches /usr/share/icons/*
    

    【讨论】:

    • 哦,一个缓存......那么行为是有道理的......它现在可以正常工作,没有任何变化。刚刚切换到调试模式。重新复制应用程序,图标可见。现在 AppImage 也显示了图标。
    猜你喜欢
    • 2011-02-28
    • 2014-10-30
    • 2019-12-23
    • 1970-01-01
    • 1970-01-01
    • 2012-12-03
    • 2017-01-09
    • 2016-10-03
    相关资源
    最近更新 更多