QPixmap(): 参数 1 有意外的类型 'PngImageFile'

QPixmap(): argument 1 has unexpected type 'PngImageFile'

(抱歉英语不好,我的母语不是英语)

我正在使用 Anaconda、Pycharm、Windows 10 和 QtDesigner
我正在尝试将包含图像的变量设置为图标,但我遇到了标题
中写的问题 我从 PIL 导入图像,从 PyQt4 导入 QtGui、QtCore、uic
这是代码:

image2 = Image.open('./Images/Cache/Cache.png')
finalimage = QtGui.QIcon()
finalimage.addPixmap(QtGui.QPixmap(image2), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.FinalImage.setIcon(finalimage)
self.FinalImage.setIconSize(QtCore.QSize(1300, 342))

它会在我使用时起作用:

finalimage.addPixmap(QtGui.QPixmap('./Images/Cache/Cache.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)

但是我必须使用变量而不是文件路径...
我必须更改什么才能将变量用作图标?

您需要使用ImageQt模块:

from PIL.ImageQt import ImageQt
image2 = Image.open('./Images/Cache/Cache.png')
qimage = ImageQt(image2)
pixmap = QtGui.QPixmap.fromImage(qimage)