我正在使用 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 机器上,应用程序运行时,应用程序图标出现在两个地方