QPixmap 在非QtCreator环境下无法显示jpg图片
这几天需要实现在Qt界面中显示jpg图片,于是直接将路径传给QPixmap对象,发现显示不出来。
然而在Qt SDK自带的Demo中却可以正确显示jpg图片,经搜索引擎查找发现,是自己的exe文件缺少需要依赖的jpeg.dll库,此库是一个插件形式的dll。
Qt对插件式dll的放置路径有着严格要求,必须按照其规定的格式存放,否则分分钟给你显示错误。。。
一、放置位置
对于jpeg.dll库而言,在Win平台上的放置位置必须是: exe文件所在的文件夹\imageformats\jpeg.dll。
一般而言,可能既需要debug版本的dll,也需要release版本的dll,最好将jpeg.dll 和 jpegd.dll同步拷贝过来。
也就是:
exe文件所在的文件夹\imageformats\jpeg.dll;
exe文件所在的文件夹\imageformats\jpegd.dll;
二、查找jpeg.dll
既然我们已经知道需要用到jped.dll,那么如何找到这个动态库呢?答案就在Qt SDK中。
给出我电脑上的路径:Qt5.4.1\5.4\msvc2013\plugins\imageformats\。
注意:需要将imageformats文件夹同步拷贝!!
对于Mac的配置,可参考https://doc.qt.io/qt-5/macos-deployment.html。