應用程序圖標
1.項目源代碼根目錄,即和cmakelists.txt同級目錄下創(chuàng)建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.重新執(zhí)行cmake并編譯項目翻擒,即可看到exe文件顯示設置的ico圖標
任務欄圖標
1.多個窗口任務欄圖標一致
QGuiApplication app(argc, argv);
app.setWindowIcon(QIcon(":/images/favicon.ico"));
主函數(shù)向上面那樣設置就好,正常啟動程序汪拥,所有的窗口任務欄都會顯示上面設置的圖標
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格式,并且使用:/開頭的路徑格式