zoukankan      html  css  js  c++  java
  • pyinstall tkinter image

    tkinter 支持的图片格式:GIF PPM PGM
    当图片是这3种格式的时候,
    在c:python27scripts目录下的name.spec 加上下面这一行就能成功加入图片
    a.datas += [('t1.gif','C:Users***PycharmProjectsuntitled2 1.gif','DATA')]
    再运行pyinstaller.exe name.spec即可成功

    如果图片不是这3种格式

    当前目录下进入python shell,敲入以下命令
    1.以二进制方式打开icon.ico
    2.进行base64编码转换
    3.以变量形式保存在icon.py 中

    import base64
    
    with open('t.ico', 'rb') as f:
        b64str = base64.b64encode(f.read())
    
    with open('icon.py', 'w+') as f:
        write_data = "img = '%s'" % b64str
        f.write(write_data)
    

    这里可以当前目录下出现了icon.py 文件,里面只有一行就是img变量等于一串base64编码

    hello.py
    icon.ico
    icon.py
    

    修改 hello.py源码,导入icon.py中的img, 创建一个临时的tmp.ico文件作为图标引入后删除即可

    from Tkinter import *
    import base64
    from icon import img
    
    root = Tk()
    tmp = open("tmp.ico","wb+")
    tmp.write(base64.b64decode(img))
    tmp.close()
    root.iconbitmap("tmp.ico")
    os.remove("tmp.ico")
    
    Label(root, text="hello world").pack()
    root.mainloop()
    

    最后就是pyinstaller打包
    pyinstaller -i icon.ico -w -F hello.py

    method of decode

    pprint.pprint(eval(a))
    
  • 相关阅读:
    ansible 批量在远程主机上执行命令
    SQLAlchemy
    operator, itertools
    mongodb基础语法
    django model Meta选项
    __getattr__,settr
    django的contenttype表
    time和datetime和tzinfo
    全局钩子的改名
    dom中文字居中
  • 原文地址:https://www.cnblogs.com/otfsenter/p/6337184.html
Copyright © 2011-2022 走看看