为QML应用程序定义一个窗口图标

时间:2017-01-04 18:53:00

标签: qt qml qt5

我目前正在阅读QML文档,并且我意识到没有关于如何定义应用程序图标的说明。

我尝试了一些东西,但这不起作用:

int main(int argc, char *argv[])
{
    QCoreApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
    QGuiApplication app(argc, argv);
    app.setWindowIcon(QIcon(":/favicon.ico"));

    QQmlApplicationEngine engine;
    engine.load(QUrl(QLatin1String("qrc:/main.qml")));

    return app.exec();
}

有人可以开导我吗? 在此先感谢:)

2 个答案:

答案 0 :(得分:5)

对我来说,只有在使用PNG而不是ICO文件时才有效。 您也可以尝试使用完整路径进行测试:

app.setWindowIcon(QIcon("C:/path_to_ico/favicon.png"));

或直接 - 如果它存在于您的工作目录中:

app.setWindowIcon(QIcon("favicon.png"));

只要这样做,您就可以尝试再次使用相对路径或资源访问: - )

答案 1 :(得分:1)

将图像添加到 qrc 文件。然后给出以 :/ 开头的路径。

app.setWindowIcon(QIcon(":/images/favicon.png"));

Qt 版本:5.15.2

操作系统:Windows 10