【qt5,python,如何让base64编码显示图片??】

qt5,python,如何让base64编码显示图片??

  • 首先,控件必须使用Qlabel
  • 其次,对base64编码进行处理
    • 为啥要对base64进行处理,不能直接使用吗
  • 最后,将转换好的base64编码进行图片展示

首先,控件必须使用Qlabel

为什么一定要使用Qlabel控件呢?
因为控件Qlabel有setPixmap属性,可以使照片显示出来。
一定要使用这个方法吗?
不一定,但是在网上,我也找了其他的方法,还是这个方法比较好

其次,对base64编码进行处理

为啥要对base64进行处理,不能直接使用吗

回答是:不行。
base64编码在数据表的存储,如下图所示:
在这里插入图片描述
但是正常,我们只使用"iVB…"后面的字母,前面的前缀是使用不到的。
所以,我们可以将前缀置换成空

对base64编码进行转换,代码如下:

// replace :把前缀替换成空
data = student_data[20].replace("^data:image\/\w+;base64,", '') 
// b64decode:对处理好的base编码进行转换
image = base64.b64decode(data)

最后,将转换好的base64编码进行图片展示

pix = QPixmap()
pix.loadFromData(image)
//自适应label大小
self.label_9.setScaledContents(True)
self.label_9.setPixmap(pix)

声明:以上这些我都是找了网上的资料,但是网上的大部分是使用c++语言写的,关于使用python写的还是比较少

你可能感兴趣的:(qt,开发语言,python)