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()



  • 相关阅读:
    第二次站立会议
    小组第一次站立会议
    用户场景描述
    本周学习总结
    构建之法阅读笔记之三
    本周的学习收获
    java连接Oracle数据库
    scott用户不存在
    大二暑假第五周总结
    业务用例分析
  • 原文地址:https://www.cnblogs.com/navysummer/p/10614905.html
Copyright © 2011-2022 走看看