You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Qt6中setWindowIcon()仅在特定目录运行时失效问题排查

Qt6应用仅在%LocalAppData%\Programs\acquisition目录运行时窗口图标失效问题

问题现象

  • 名为acquisition的Qt6应用,仅在%LocalAppData%\Programs\acquisition目录运行时无法设置窗口图标
  • 将程序文件夹复制到%LocalAppData%\Programs外任意位置,或该目录下其他子目录(如acquisition_copy)时,窗口图标均可正常显示
  • 该应用在macOS和Linux平台无此问题
  • 已通过QT_DEBUG_PLUGINS确认SVG插件加载正常,切换为PNG图标仍存在该目录特定失效问题

复现环境

  • 构建环境:Qt Creator 13.0.2 + Qt 6.5.3
  • 系统:Windows 11 23H2
  • 部署方式:使用windeployqt部署,无需Inno Setup即可复现

项目文件清单

CMakeLists.txt
main.cpp
resources.qrc
deploy.cmd
assets/icon.svg

CMakeLists.txt内容

cmake_minimum_required(VERSION 3.21.1)

project(acquisition)

find_package(Qt6 6.5.3 REQUIRED COMPONENTS
    Gui
    Svg
    Widgets
)

qt_standard_project_setup()

qt_add_executable(acquisition WIN32
    main.cpp
    resources.qrc
)

set_target_properties(acquisition PROPERTIES AUTORCC TRUE)

target_link_libraries(acquisition PUBLIC
    Qt::Core
    Qt::Gui
    Qt::Svg
    Qt::Widgets
)

main.cpp内容

#include <QApplication>
#include <QDialog>
#include <QDir>
#include <QIcon>

int main(int argc, char* argv[])
{
    Q_INIT_RESOURCE(resources);

    QApplication app(argc, argv);

    QDialog dialog;
    dialog.setWindowIcon(QIcon(":/assets/icon.svg"));
    dialog.show();

    return app.exec();
}

resources.qrc内容

<!DOCTYPE RCC>
<RCC>
    <qresource>
        <file>assets/icon.svg</file>
    </qresource>
</RCC>

deploy.cmd内容

set "WINDEPLOYQT=C:\Qt\6.5.3\msvc2019_64\bin\windeployqt.exe"

set "BUILD_DIR=.\build\Desktop_Qt_6_5_3_MSVC2019_64bit-Release"
set "DEPLOY_DIR=%BUILD_DIR%\deploy"

rmdir /S /Q "%DEPLOY_DIR%"
mkdir "%DEPLOY_DIR%"

copy "%BUILD_DIR%\acquisition.exe" "%DEPLOY_DIR%"

"%WINDEPLOYQT%" "%DEPLOY_DIR%\acquisition.exe" --release --no-compiler-runtime --dir "%DEPLOY_DIR%"

疑问

将部署后的文件夹复制到%LocalAppData%\Programs\acquisition运行时图标失效,其他目录正常,请问该问题的原因是什么?

内容的提问来源于stack exchange,提问作者Gerwaric

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 15:03:26