首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt5.6设置应用程序图标(Linux)

Qt5.6设置应用程序图标(Linux)
EN

Stack Overflow用户
提问于 2016-06-29 20:23:39
回答 2查看 2.1K关注 0票数 2

我正在用Qt5.6为RedHat 7.2开发一个应用程序。

我的资源文件'qrc':

代码语言:javascript
复制
    <RCC>
        <qresource prefix="/">
            <file alias="APP_ICON">lw-3.png</file>
        </qresource>
    </RCC>

我想将应用程序设置为使用此资源作为应用程序图标。使用编辑器,我已经编辑了主窗口,并通过从资源文件中选择属性'windowIcon‘将其设置为APP_ICON。

我已经运行了qmake并构建了应用程序,但该图标仍然是默认的Qt图标。

我已经尝试将此代码添加到主窗口构造函数中:

代码语言:javascript
复制
    QIcon objIcon = QIcon(":/APP_ICON");
    setWindowIcon(objIcon);

然而,这也不起作用,我需要做什么?

编辑任务栏中显示的应用程序确实会在应用程序标题旁边的资源中显示正确的设置图标,只是文件系统中的图标不正确。

EN

回答 2

Stack Overflow用户

发布于 2016-06-29 21:09:58

我敢肯定这不会是你所希望的,但现在开始吧。官方的Qt答案在这里http://qt-project.org/doc/qt-5/appicon.html

步骤1:在hicolor主题中安装一个48x48的图标。这意味着将PNG文件复制到/usr/share/icons/hicolor/48x48/apps。您可以选择安装不同大小的图标。例如,复制/usr/share/icons/hicolor/scalable/apps中的svg图标意味着大多数桌面将有一个适用于所有大小的图标。

建议安装在hicolor主题中的图标看起来是中性的,因为它是一个后备主题,将与一些非常不同的外观主题结合使用。但是如果你没有任何中性的图标,那么安装任何你在hicolor主题中有的图标,这样所有的应用程序在所有的主题中至少会有一些图标。

步骤2:在/usr/share/applications/中创建一个文本.desktop文件,告诉gnome关于您的应用程序的信息。这将允许通过gnome菜单使用适当的图标找到您的应用程序,但是当在nautilus/files中浏览时,可执行文件仍然不会使用您的图标显示。

usr/share/applications/myapp.ktop文件应该包含如下内容:

代码语言:javascript
复制
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=MyAppName
Comment=My very special application description
Exec=/use/bin/myapp
Icon=/usr/share/icons/hicolor/scalable/apps/myapp.svg
Terminal=false
Categories=GNOME;Application;
StartupNotify=true
票数 4
EN

Stack Overflow用户

发布于 2018-03-14 00:23:38

实用程序gio可用于将元数据与包括自定义图标文件的文件相关联。将自定义图标与文件关联可确保当文件显示在Nautilus (文件)中时,将使用其关联的图标进行显示。

查看文件使用的元数据:

gio info /path/to/file/file-name

要将自定义图标与文件相关联,请使用以下命令:

gio set /path/to/file/file-name metadata::custom-icon "file:///path/to/file/icon-file-name"

可能作为linux / gnome安装的一部分,您可以执行shell命令来关联图标。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38099444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档