CMake构建Qt6项目,解决资源不能加载的问题

问题描述:

使用CMake构建Qt项目时,遇到无法加载资源文件的问题,这里面有一个坑

官方手册中若是没有qrc文件可以使用下面的方式动态生成,但是这里有一个坑,FILES后面的图片名称我是使用file(GLOB IMG ./images/*.png)进行匹配,问题出在这里,项目中引用的时候,一直加载不进来。但是换成set指令就能正确加载。使用qt_add_resources时,main函数里注意初始化Q_INIT_RESOURCE(image_app); image_app对应qt_add_resources第二个参数;

在这里插入图片描述

#resources
#file(GLOB Png_Images  ./images/*.png) 不能正确加载资源
#file(GLOB Jpg_Images "${CMAKE_CURRENT_SOURCE_DIR}/images/*.png")
set(Png_Images ./images/01.png ./images/02.png)

qt_add_resources(${PROJECT_NAME}_app "image_app"
    PREFIX "/"
    FILES
        ${Png_Images}
)

注意:qt_add_resourcesqt_add_executable后;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
CMakeQt资源是两个不同的概念,用于不同的目的。 首先,CMake是一个用于构建和管理跨平台软件项目的工具。它提供了一种类似于Makefile的方式来描述项目构建过程和依赖关系。使用CMake,开发者可以编写CMakeLists.txt文件来指定项目的源文件、依赖以及构建选项。然后,CMake可以根据这些指定来生成适应不同操作系统和编译器的构建系统文件(比如Makefile、Visual Studio项目文件等),使得项目的编译和构建变得更加简单和可靠。CMake可以与不同的编程语言和工具链一起使用,包括C++、Python、Java等。 而Qt资源是指Qt框架中的资源管理机制。在Qt中,可以将一些非代码文件(比如图像、样式表、声音等)打包到应用程序中。这些资源文件可以被通过文件名来引用,而不需要直接指定文件的路径。在运行时,Qt会自动解析这些资源文件并将它们加载到内存中,方便程序的访问和使用。Qt资源机制提供了一种方便的方式来管理和使用非代码资源,在开发界面较为丰富的应用程序时特别有用。 在使用CMake进行项目构建时,可以通过CMake的命令和变量来指定和管理Qt资源。开发者可以在CMakeLists.txt文件中使用命令`qt5_add_resources`来指定Qt资源文件的路径,并将其添加到项目中。然后,在项目代码中使用Qt的API来访问和使用这些资源。 总而言之,CMakeQt资源是两个不同的概念,用于不同的目的。CMake是一个用于管理项目构建的工具,而Qt资源是一种用于管理和访问非代码资源的机制。在开发中,可以使用CMake来指定和管理Qt资源,以方便地在应用程序中使用这些资源

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值