如何在Qt 6 Widget应用(CMake构建)中正确添加.qrc资源文件
解决Qt 6 + CMake下.qrc资源文件不显示在资源选择列表的问题
正确的CMake配置步骤
启用AUTORCC并正确添加资源文件
确保你的CMakeLists.txt配置如下,注意变量顺序和组件依赖:cmake_minimum_required(VERSION 3.24) project(YourProjectName) set(CMAKE_CXX_STANDARD 17) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) # Qt6默认不开启,必须显式设置 set(CMAKE_AUTOUIC ON) find_package(Qt6 REQUIRED COMPONENTS Core Widgets) # 把.qrc文件和其他源文件放在一起 set(PROJECT_SOURCES main.cpp mainwindow.cpp mainwindow.h mainwindow.ui Resources.qrc ) # 生成可执行文件(适配Qt6的写法) if(${QT_VERSION_MAJOR} GREATER_EQUAL 6) qt_add_executable(YourProjectName MANUAL_FINALIZATION ${PROJECT_SOURCES} ) else() if(ANDROID) add_library(YourProjectName SHARED ${PROJECT_SOURCES}) else() add_executable(YourProjectName ${PROJECT_SOURCES}) endif() endif() # 链接Qt组件 target_link_libraries(YourProjectName PRIVATE Qt6::Core Qt6::Widgets) # Qt6的最终收尾配置 if(QT_VERSION_MAJOR EQUAL 6) qt_finalize_executable(YourProjectName) endif()检查.qrc文件格式与路径
确认你的Resources.qrc内容符合规范,且图片路径正确(相对于.qrc文件的位置):<RCC> <qresource prefix="/icons"> <file>icons/tool_btn_icon.png</file> <!-- 比如.qrc同级有icons文件夹,里面放图片 --> </qresource> </RCC>清理缓存并重新构建
- 在Qt Creator里点击「项目」面板,先执行「清理」,再点击「运行CMake」,最后重新构建项目。
- 若仍有问题,手动删除build文件夹后重新构建,彻底清除旧缓存。
手动将资源添加到Qt Creator的资源面板
如果设计器里还是看不到资源:- 打开左侧的「资源」面板,点击「添加」按钮选择「添加现有资源」。
- 选中你的Resources.qrc文件,添加后设计器的图标选择列表里就会显示资源了。
常见避坑点
- 不要同时启用
AUTORCC ON和调用qt_add_resources,二者冲突,推荐用前者更简洁。 - 必须确保
find_package引入了Qt6::Widgets组件,设计器的资源列表依赖该组件支持。 - .qrc里的文件路径不要用绝对路径,一律用相对于.qrc文件的相对路径。
内容的提问来源于stack exchange,提问作者Danila Gulyaev
相关产品推荐
相关产品推荐

