问题场景:
PIL.Image图片,直接调用PIL.Image.toqpixmap()
转成QPixmap后,不会立即报错,
但后续使用该QPixmap时(包括但不仅限于使用QLabel.setPximap()
、QPixmap.save()
)将立即出现异常
不知道是我关键词不对,还是只有我一个人碰到这样的问题,亦或是bing搜索引擎拉胯,我愣是没搜到相关回答,就有点搞笑。
解决方法:
在进行几次随意的尝试后,倒是找到了个不像是根本原因的原因,那就是转换异常的PIL.Image图片往往是RGB格式的,应该是转图片的那个函数有问题,但我也懒得再深究原因。早上试过py -m pip install --upgrade PIL
更新了PIL模块,不顶用,而且新PIL还有警告说明2023年7月1日起不兼容PyQt5,离谱。
一个最直接的解决办法就是,调用 PIL.Image.convert()将RGB图片转为RGBA图片,然后代码就能正常运行
小小声:
- 模块API问题估计得反馈到官方那边才会修
- 在PIL官网愣是没找到
PIL.Image.toqpixmap()
,又是个更新不同步问题。只不过如果的确没有该函数的话可以使用PIL.ImageQt.toqpixmap()
作为替代
本文发布于CSDN,未经个人允许不得私自转载:https://blog.csdn.net/weixin_44733774/article/details/131483674