qt-cmake Windows設(shè)置應(yīng)用程序圖標(biāo)和任務(wù)欄圖標(biāo)

應(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)頭的路徑格式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • CMake學(xué)習(xí) 本篇分享一下有關(guān)CMake的一些學(xué)習(xí)心得以及相關(guān)使用。 本文目錄如下: [1、CMake介紹] [...
    AlphaGL閱讀 12,445評(píng)論 11 79
  • 搬運(yùn)自本人 CSDN 博客:https://blog.csdn.net/ajianyingxiaoqinghan/...
    琦小蝦閱讀 15,674評(píng)論 0 11
  • 參考 CMake入門實(shí)戰(zhàn)cmake緩存清理 什么是CMake CMake允許開(kāi)發(fā)者編寫(xiě)一種平臺(tái)無(wú)關(guān)的CMakeLi...
    GeminiGirl0604閱讀 3,567評(píng)論 0 3
  • CMake 全稱“cross platform make”,是開(kāi)源、跨平臺(tái)的自動(dòng)化構(gòu)建系統(tǒng)。CMake 由 Kit...
    神齊閱讀 4,302評(píng)論 0 6
  • 陳婉雯 身心整合的課程,很快就結(jié)束了,這次課程給我的感覺(jué)就是放松,放空,總在做練習(xí)的時(shí)候睡著,課程中主張我們...
    加油erin閱讀 302評(píng)論 0 1

友情鏈接更多精彩內(nèi)容