当前位置: 首页 > news >正文

【QT】QT6设置.exe文件图标

为Qt6应用程序设置.exe文件图标的步骤如下:

步骤 1:准备图标文件

  1. 准备一个ICO格式的图标文件(如 myicon.ico)。
    • 若使用PNG等格式,需转换为ICO。推荐工具:
      • 在线转换:ConvertICO
      • 本地工具:GIMP、Photoshop(需插件)或专用转换软件。
    • 图标应包含多尺寸(如16x16, 32x32, 48x48, 256x256)以确保兼容性。

步骤 2:将图标文件放入项目目录

myicon.ico 放在项目根目录或子目录(如 resources/)。

步骤3:创建 .rc 文件

  1. 新建文本文件
    在你的项目目录中创建一个新文件,例如 app.rc(文件名可自定义,但扩展名必须是 .rc)。

  2. 编辑 .rc 文件内容
    用文本编辑器(如 Notepad++、VS Code 或 Qt Creator)打开 app.rc,添加以下内容:

    // 定义应用程序图标
    IDI_ICON1 ICON "path/to/your-icon.ico"
    
    • IDI_ICON1 是图标的资源标识符(可自定义,如 IDI_APP_ICON)。
    • "path/to/your-icon.ico" 是你的图标文件路径,需确保路径正确(相对或绝对路径均可)。

    示例:如果图标文件在项目根目录下

    IDI_ICON1 ICON "appicon.ico"
    
  3. 保存文件
    保存 .rc 文件,确保编码为 UTF-8ANSI(避免使用 Unicode 编码,某些编译器可能不支持)。


步骤 3:修改项目文件(.proCMakeLists.txt

使用 qmake.pro 文件):
  1. .pro 文件中添加:
    RC_ICONS = myicon.ico
    
    或指定路径:
    RC_ICONS = resources/myicon.ico
    
使用 CMakeCMakeLists.txt):
  1. 添加以下代码:
    if(WIN32)set(RC_FILE ${CMAKE_CURRENT_SOURCE_DIR}/Logo.rc)target_sources(YourApp PRIVATE ${RC_FILE})set_target_properties(YourApp PROPERTIESWIN32_EXECUTABLE TRUEWINDOWS_ICON ${CMAKE_CURRENT_SOURCE_DIR}/Logo.ico)
    endif()
    

步骤 4:重新构建项目

  1. 清理旧构建:
    qmake && make clean && make
    
    (或通过Qt Creator的“构建”菜单选择“清理所有”后重新构建)
  2. 生成新的 .exe 文件后,右键查看属性确认图标是否更新。

常见问题解决

  • 图标未更新

    • 清理构建目录并重新编译。
    • 确认 .ico 文件路径正确且无拼写错误。
    • 检查图标文件是否损坏(尝试用其他图标测试)。
  • 仅窗口图标需更改

    // 在代码中设置窗口图标(影响任务栏和标题栏)
    #include <QApplication>
    #include <QIcon>int main(int argc, char *argv[]) {QApplication a(argc, argv);a.setWindowIcon(QIcon(":/icons/myicon.png")); // 需通过.qrc资源文件引入// ...return a.exec();
    }
    

通过以上步骤,您的Qt6应用程序将正确显示自定义的.exe图标。

http://www.xdnf.cn/news/581995.html

相关文章:

  • 华为2025年校招笔试手撕真题教程(二)
  • C++ 日志系统实战第五步:日志器的设计
  • 搜维尔科技VR+5G教室建设方案,推动实现教育数字化转型
  • 5G基站选择±10ppm晶振及低相噪技术解析
  • 云原生微服务的前世今生
  • 5G 网络寻呼的信令及 IE 信息分析
  • paddlehub搭建ocr服务
  • 关于vue彻底删除node_modules文件夹
  • JMeter-Websocket接口自动化
  • Python 学习笔记
  • React19 项目开发中antd组件库版本兼容问题解决方案。
  • ubuntu中上传项目至GitHub仓库教程
  • 【数据结构与算法】LeetCode 每日三题
  • LeetCode 3356.零数组变换 II:二分查找 + I的差分数组
  • 精益数据分析(78/126):问题-解决方案画布的实战应用与黏性阶段关键总结
  • 华为云Flexus+DeepSeek征文 | 基于ModelArts Studio 的 DeepSeek API 实现行业深度搜索和分析
  • 平时使用电脑,如何去维护
  • VideoMAE论文笔记
  • 游戏引擎学习第305天:在平台层中使用内存 Arena 的方法与思路
  • 模拟退火算法求解01背包问题:从理论到实践的完整攻略
  • IPv4 地址嵌入 IPv6 的前缀转换方式详解
  • AUTOSAR AP 入门0:AUTOSAR_EXP_PlatformDesign.pdf
  • (高级)高级前端开发者指南:框架运用与综合实战
  • 《量子计算实战》PDF下载
  • 工业 / 农业 / AR 场景怎么选?Stereolabs ZED 双目3D相机型号对比与选型建议
  • 融合蛋白质语言模型和图像修复模型,麻省理工与哈佛联手提出PUPS ,实现单细胞级蛋白质定位
  • 边缘计算正在重新定义物联网的未来——你的设备还在“等云“吗?⚡
  • Java 大视界 -- Java 大数据机器学习模型在金融客户生命周期价值预测与营销策略制定中的应用(262)
  • java jdbc执行Oracle sql文件
  • 鸿蒙 HarmonyOS NEXT 系统 Preference 首选项使用全解析