Qt6.5 CMake迁移:可执行程序与Design Mode无法同时显示图片
Qt6.5 CMake项目中Design Mode与可执行程序图片同步显示解决方案
1. 规范资源文件与CMake配置
- 确保
.qrc资源文件结构正确,统一设置资源前缀:<RCC> <qresource prefix="/"> <file>baloon.png</file> </qresource> </RCC> - 在
CMakeLists.txt中正确关联资源,使用qt_add_resources并将资源文件加入目标源文件:# 替换为你的项目名称 project(ImageDemo) find_package(Qt6 REQUIRED COMPONENTS Widgets) qt_standard_project_setup() qt_add_resources(APP_RESOURCES resources.qrc) add_executable(ImageDemo main.cpp mainwindow.cpp ${APP_RESOURCES}) target_link_libraries(ImageDemo PRIVATE Qt6::Widgets)
2. 统一UI控件的资源路径
- 在Qt Creator Design Mode的Image控件中,必须使用资源路径,格式为
:/baloon.png(前缀/加上qrc中定义的文件名),绝对不能用相对路径。
3. 强制Qt Creator重新加载资源配置
- 右键项目根节点,选择
Run CMake,等待配置完成后关闭Design Mode再重新打开。 - 若仍无效,直接重启Qt Creator,确保CMake缓存与资源配置完全同步。
- 检查当前使用的Kit:进入
Tools -> Options -> Build & Run -> Kits,确认Kit绑定的是Qt6.5版本,且CMake路径指向正确的Qt安装目录。
4. 验证路径一致性
- 确认图片文件的实际位置与
.qrc中<file>标签的路径完全匹配(比如图片放在resources子目录下,qrc中要写resources/baloon.png,UI中对应路径为:/resources/baloon.png)。 - 编译后无需手动拷贝图片到可执行目录,Qt资源会被嵌入二进制文件。若仍有问题,删除项目的
build文件夹(清空CMake缓存),重新编译。
内容的提问来源于stack exchange,提问作者PaulBroken
相关产品推荐
相关产品推荐

