Qt 框架应用程序下使用jpg图片时不显示现象

1、异常现象描述

在程序中将图片资源放置在同执行程序*.exe统一目录下,在程序中使用QLable下的setPixmap()函数设置背景图片;在win7下正常显示而在win10下不正常。

2、异常现象排查

a、检查图片资源放置路径是否正确,多次确认后无误

b、怀疑是不同系统下路径分割符导致路径错误,调试查看并使用QDir::toNativeSeparators()函数确保不同系统下路径分隔符的正确性;调试确认无误

暂时找不到原因,更换图片展示方式,自定义QWidget,重写paintEvent,在绘图事件函数中绘制图片;尝试后,异常仍然存在

c、通过以上资源路径正确性及图片展示方式尝试后,判断可能与不同系统下图片加载相关库有关系,后查看打包文件后发现随主程序打包的库文件imageformats中所有库均为debug模式库;后更换release的库,最后

在win10 系统下图片正常显示

3、总结

开发环境为win7,且将qt配置到了path环境中,故开发机上jpg图片显示正常;而在win10应用机上,没有qt环境,图片处理只能依靠打包的依赖库,而依赖的库为debug库,导致了图片显示的异常。

今后在程序打包时,一定要注意程序时debug还是release的,并在打包时使用相应的二进制依赖库。

posted @ 2021-07-13 18:07  小油人  阅读(833)  评论(0编辑  收藏  举报