设置应用程序图标

设置应用程序图标

我正在使用 Ubuntu SDK 构建 QML 应用程序。我已经弄清楚了如何将应用程序图标添加到文件.desktop,但我不知道在哪里添加窗口图标本身。我见过Applicaton.windowIcon使用 C++ 设置的代码,但我只使用 QML/JS。如何将我的图标添加到应用程序配置中?

答案1

.desktop在文件中设置图标将它添加到您的应用程序配置中,所以我不太清楚您在问什么。只要图标与其他所有内容一起安装,您就应该一切就绪。如果您是通过点击包安装的,则文件中图标的相对文件名.desktop就是您所需要的;否则,您可能需要使用绝对路径。

如果您尝试获取未安装的程序的图标集,则可以将桌面文件添加到~/.local/share/applications/。 IIRC,此文件不会立即被检测到,但最终会被加载。注销然后重新登录可能会强制刷新。

如果您想在应用程序运行时以编程方式调整图标,我无法帮助您。如果您可以通过纯 QML 做到这一点,我会感到惊讶,但编写 C++ 插件可能很容易。

答案2

首先将图标添加到资源文件中。您的资产.qrc可能看起来像这样

<RCC>
    <qresource prefix="assets/">
         <file alias="logo.png">assets/icons/logo.png</file>
    </qresource>
</RCC>

接下来需要在C++端设置应用程序图标

#include <QGuiApplication>
#include <QIcon>
#include <QString>

int main(int argc, char** argv) {
    QGuiApplication app(argc, argv);
    QGuiApplication::setWindowIcon(QIcon(":/assets/logo.png"));
    // next do whatever is needed to set up the qml engine
}

这应该可以有效地设置应用程序图标。在我的 Ubuntu 机器上,应用程序运行时,应用程序图标出现在两个地方

相关内容