tkinterはexe実行可能ファイルにパッケージ化
1238 ワード
1.pyinstallerのインストール
2.梱包
cmdを開き、パッケージするファイル(demo.py)ディレクトリに切り替えます.
3.exeアイコンの変更
4.tkのデフォルトアイコンを置換
ファイル内でtkデフォルトアイコンをカスタムアイコンで置き換えると、説明ドキュメントの方法
マスターの変更:
pip install pyinstaller
2.梱包
cmdを開き、パッケージするファイル(demo.py)ディレクトリに切り替えます.
pyinstaller -F -w demo.py
を実行します.生成されたexeファイルはサブディレクトリdistにあります.-Fは指定パッケージ後にexe形式のファイルが1つしか生成されないことを示し、-wはウィンドウを表し、コンソールがない.3.exeアイコンの変更
-i icon.ico --icon=icon.ico
アイコンファイルは、パッケージするファイルと同じディレクトリに配置されます.4.tkのデフォルトアイコンを置換
ファイル内でtkデフォルトアイコンをカスタムアイコンで置き換えると、説明ドキュメントの方法
root.iconbitmap(icon.ico)
でtkアイコンを置き換えると、パッケージされたexeの実行に失敗します.なぜなら、アイコンが打ち込まれていないため、解決策はフォルダにパッケージ化したり、アイコンをbase 64データに変換したりすることです. 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()