Qt5.6设置应用程序图标(Linux)
Qt5.6 set application icon (Linux)
我正在为RedHat 7.2开发一个Qt5.6应用程序。
我的资源文件"qrc":
<RCC>
<qresource prefix="/">
<file alias="APP_ICON">lw-3.png</file>
</qresource>
</RCC>
我想设置应用程序,将此资源用作应用程序图标。使用编辑器,我编辑了主窗口,并通过从资源文件中选择属性"windowIcon"将其设置为APP_ICON。
我已经运行了qmake并构建了应用程序,但图标仍然是默认的Qt图标。
我已经尝试将此代码添加到主窗口构造函数中:
QIcon objIcon = QIcon(":/APP_ICON");
setWindowIcon(objIcon);
然而,这也不起作用,我需要做什么?
[编辑]任务栏中显示的应用程序在资源中显示的图标与应用程序标题一样正确,只是文件系统中的图标不正确。
我相信这不会是你所希望的,但现在开始。官方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/中创建一个text.desktop文件,告诉gnome您的应用程序。这将允许您的应用程序通过带有适当图标的gnome菜单找到,但当在nautilus/文件中浏览时,可执行文件仍然不会使用您的图标显示。
/usr/share/applications/myapp.desktop文件应该包含以下内容:
[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
实用工具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/ggnome安装的一部分,您可以执行一个shell命令来关联图标。
- 在C++/Linux中设置单调时钟的一些技巧
- Linux的Cpp上的计时器
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 在Linux中哪里可以找到互斥、未来等的源代码
- 如何在linux终端中同时编译和运行c++代码
- 在Linux for Windows上编译C++代码时出错
- 如何找到锁定Linux futex的C++行
- 在linux上调试巨大的C++项目
- 如何处理linux终端中带有负号(-)的C++中的命令行参数
- c++方法参数只能在linux的发布模式下自行更改
- 在Linux和C++中的Windows上,散列字符串值会产生不同的输出
- 这里在 Linux 中具有"CreatePipe"和"CreateProcessW"功能吗?
- 函数在Windows或Linux上运行时表现不同
- 在Linux下捕获SIGKILL的C++程序
- 在为LINUX创建共享库时,如何避免STL的私有/弱副本
- 使用 cmake 的 Linux 终端上的"Conversion to non-scalar type is requested"错误
- 如何在CPP中创建应该在Windows和Linux上运行的套接字?
- Linux通过pid获取窗口图标
- 在 Linux 上的 Qt 中获取应用程序图标 URL
- Qt5.6设置应用程序图标(Linux)