qt-cmake Windows设置应用程序图标和任务栏图标
应用程序图标
1.项目源代码根目录,即和cmakelists.txt同级目录下创建app_win32.rc文件,内容如下
IDI_ICON1 ICON DISCARDABLE "favicon.ico"
2.cmake中add_executable命令后包含app_win32.rc文件,如
add_executable(${PROJECT_NAME}
"src/main.cpp"
"app_win32.rc"
)
3.将favicon.ico文件放入同级目录
4.重新执行cmake并编译项目,即可看到exe文件显示设置的ico图标
任务栏图标
1.多个窗口任务栏图标一致
QGuiApplication app(argc, argv);
app.setWindowIcon(QIcon(":/images/favicon.ico"));
主函数向上面那样设置就好,正常启动程序,所有的窗口任务栏都会显示上面设置的图标
2.多个窗口任务栏图标不一致
qml中给window设置objectName
QWindow *mainWindow = engine.rootObjects().first()->findChild<QWindow *>("mainWindowObject");;
if (mainWindow) {
mainWindow->setIcon(QIcon(":/images/favicon.ico"));
qDebug() << "main window icon is set";
mainWindow->show();
}
else{
qDebug() << "main window icon is not set";
return app.exec();
}
QWindow *loginWindow = engine.rootObjects().first()->findChild<QWindow *>("loginWindowObject");
if (loginWindow) {
loginWindow->setIcon(QIcon(":/images/xiaoxin.ico"));
qDebug() << "login window icon is set";
}
else{
qDebug() << "login window icon is not set";
return app.exec();
}
启动程序,可以看到两个窗口显示不一样的图标
注意:必须是ico格式,并且使用:/开头的路径格式
作者:lovecatcoder
链接:https://www.jianshu.com/p/196fdfc783d1
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!