- 首先,控件必须使用Qlabel
- 其次,对base64编码进行处理
- 为啥要对base64进行处理,不能直接使用吗
- 最后,将转换好的base64编码进行图片展示
为什么一定要使用Qlabel控件呢?
因为控件Qlabel有setPixmap属性,可以使照片显示出来。
一定要使用这个方法吗?
不一定,但是在网上,我也找了其他的方法,还是这个方法比较好
回答是:不行。
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写的还是比较少