QT Qimage、QPixmap等读取图片失败的几种可能情况

今天尝试用QT来写个小程序,想给QWidget添加背景图片,涉及图片的读取、显示,但是在图片读取的时候死活读不进来,数据一直为空。这个问题折腾了将近两三个小时,在网上也找了很多相关的资料,但一直未解决,最后快要放弃的时候终于找到了原因(啰嗦了这么多只想表达这个下午一直被这个问题困扰,太难受了)。好了,废话不多说,直接说原因吧,那就是不要轻易改变图片原来的格式,即.jpg的图直接改后缀为.png,这就有可能出错(今天真是手贱啊,一上来就把图片的格式改了!!)

另外,网上也又有另外两种情况:
1.图片的的路径格式不对,相对路径用“\”,把要读的图片文件夹放到与exe相同的路径下,如下图:
QT Qimage、QPixmap等读取图片失败的几种可能情况_第1张图片

假设图片为:1.jpg,图片加载为:QImage image.load(“images\1.jpg”),如果是绝对路径则用"/",如"C:/Pictures/Saved Pictures/back.jpg".
2.缺少dll,需要将QT安装目录下(我的是:“QT5.8.9\5.9.8\msvc2013_64\plugins”)将imageformats文件夹拷贝到与exe相同的路径下。
QT Qimage、QPixmap等读取图片失败的几种可能情况_第2张图片

你可能感兴趣的:(经验总结)