问题描述
在写Qt项目的时候需要一些图片文件,但我明明按照要求导入了图片资源,但是运行的时候却说:找不到文件?并且出现了奇怪的报错?也就是标题的那串再加上一串数字。
解决方案
- 在Qt中如果上传的资源太大了,就会有如下报错:
这时我们可以将文件转为二进制文件(rcc文件)再导入Qt中,但是电脑中是没有自带rcc指令的,这时我们就需要配置环境变量,步骤如下:(本人电脑是Win11系统)
- 找到Qt的安装位置
- 在文件中按照顺序找文件夹:5.9->mingw53_32->bin,右键复制bin文件夹的文件路径(注意:5.9是我的Qt版本号,不同的版本对应着相同的数字)
- 在桌面上找到此电脑,右键选择属性,再选择高级系统设置
在系统变量中找到Path
对其进行编辑,将刚刚复制的文件路径添加上去,点击确定就好了 - 配置完后可以检查一下是否配置成功,win+R输入cmd调出终端,输入rcc,如果显示的内容有关于rcc的命令提示,说明配置成功了,如果不是这样说明配置失败,重新进行以上步骤
- 在命令行中输入
rcc (-name application) (application.qrc) -o (qrc_application.cpp)
- -name application写-libary
- application.qrc写你需要进行转换的文件的名字
- qrc_application.cpp写你转换完后的rcc文件的名字(按照文件路径写,当前路径和绝对路径都行,需要加上rcc,生成的rcc文件默认会在当前启动终端的文件夹中
- 若是想要在Qt中使用Debug或者release运行这个程序,还需要将这个rcc文件复制到Debug的文件夹中,比如这样
注意
在调用rcc文件中的资源的时候,按照原先的相对于添加至Qt的资源文件的路径写,因为rcc只是做了文件的格式转换,里面的路径并没有进行改变,因此我们照样需要在写项目的时候导入res文件,当报错、缓冲区不够的时候再使用这个方法对资源文件进行压缩,重点是一定要告诉pro文件我的资源文件是存在的