應(yīng)用程序圖標(biāo)
1.項(xiàng)目源代碼根目錄,即和cmakelists.txt同級(jí)目錄下創(chuàng)建app_win32.rc文件,內(nèi)容如下
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文件放入同級(jí)目錄
4.重新執(zhí)行cmake并編譯項(xiàng)目,即可看到exe文件顯示設(shè)置的ico圖標(biāo)
任務(wù)欄圖標(biāo)
1.多個(gè)窗口任務(wù)欄圖標(biāo)一致
QGuiApplication app(argc, argv);
app.setWindowIcon(QIcon(":/images/favicon.ico"));
主函數(shù)向上面那樣設(shè)置就好,正常啟動(dòng)程序,所有的窗口任務(wù)欄都會(huì)顯示上面設(shè)置的圖標(biāo)
2.多個(gè)窗口任務(wù)欄圖標(biāo)不一致
qml中給window設(shè)置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();
}
啟動(dòng)程序,可以看到兩個(gè)窗口顯示不一樣的圖標(biāo)
注意
必須是ico格式,并且使用:/開(kāi)頭的路徑格式