要先将图片文件进行编码转换成py文件
import base64
def handle_jpg_to_py(picture_name):
"""
将jpg图像文件转换为py文件
:param picture_name:
:return:
"""
open_jpg = open("%s.jpg" % picture_name, 'rb')
b64str = base64.b64encode(open_jpg.read())
open_jpg.close()
# 注意这边b64str一定要加上.decode()
write_data = 'img = "%s"' % b64str.decode()
f = open('%s.py' % picture_name, 'w+')
f.write(write_data)
f.close()
if __name__ == '__main__':
pictrue = ['suolong', 'leimu', 'prince1', 'leimu1', 'clannad', 'leimu2', 'clannad1', 'prince', 'suolong3', 'suolong2']
for pictrue_position in pictrue:
handle_jpg_to_py(pictrue_position)
2:在你的tkinter文件内导入你生成的py文件
from pictures.clannad import img as clannad
from pictures.leimu import img as leimu
....
#使用时需要解码
tmp = open('tmp.jpg', 'wb+')#临时文件用来保存jpg文件
tmp.write(base64.b64decode(leimu)
tmp.close()
image = Image.open('tmp.jpg')
a.imshow(image)
os.remove('tmp.jpg')
上面这种就可以将图片文件用在你的tkinter文件内了
3:运行pyinstaller 打包,会看到生成一个以你的tkinter文件名命名的.spec文件
4:编辑.spec文件,将a = Analysis()中的pathex=[path]内的path改为你的tkinter文件所在的工作目录,保存并运行pyinstaller.exe .spec编辑完的.spec文件重新打包。OK了