zoukankan      html  css  js  c++  java
  • tkinter 打包成exe可执行文件

    1.安装pyinstaller

    pip install pyinstaller

    2.打包

    打开cmd,切换到需要打包的文件(demo.py)目录。执行
    pyinstaller -F -w demo.py
    生成的exe文件就在子目录dist中。-F表示指定打包后只生成一个exe格式的文件,-w表示窗口,无控制台。

    3.修改exe图标

    -i icon.ico 或者 --icon=icon.ico
    图标文件放在要打包的文件同目录中。

    4.替换tk默认图标

    如果文件内采用自定义的图标替换tk默认图标,使用说明文档的方法root.iconbitmap(icon.ico)
    替换tk图标后,打包的exe执行失败。原因是图标没有打进去,解决方法是打包成文件夹,或者把图标转化成base64数据。

    这段程序可将图标gen.ico转换成icon.py文件里的base64数据
    import base64
    open_icon = open("gen.ico","rb")
    b64str = base64.b64encode(open_icon.read())
    open_icon.close()
    write_data = "img = '{0}'".format(b64str)
    f = open("icon.py","w+")
    f.write(write_data)
    f.close()
    

    修改主程序:

    import base64
    from icon import img
    import os
    
    将import进来的icon.py里的数据转换成临时文件tmp.ico,作为图标
    tmp = open('tmp.ico', 'wb+')
    tmp.write(base64.b64decode(img))
    tmp.close()
    root.iconbitmap('tmp.ico')
    os.remove('tmp.ico')
        
    MainSerialToolUI(master=root)
    root.resizable(False, False)
    root.mainloop()


    作者:suanite
    链接:https://www.jianshu.com/p/bf592bd0a034
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    linux的crash之hardlock排查记录
    linux 巨页使用测试
    linux 巨页使用测试以及勘误1
    python判断两个list包含关系
    JavaScript--数据结构之栈
    JavaScript--数据结构与算法之列表
    js数组详解:
    基于jQuery的插件开发
    函数的理解:
    JS面向对象:
  • 原文地址:https://www.cnblogs.com/ssw6/p/12909469.html
Copyright © 2011-2022 走看看