Python: pyinstallでexe化する時にアイコン2つの設定
pyinstaller sample.py --onefile --noconsole --collect-data tkinterdnd2 --icon=icon.ico
通常のアイコンファイルの結合はpyinstallだとこの記述
これだけだとタイトルバー+タスクバーはアイコンはカスタム化しない。
一応icoに必要なサイズ
- 16x16
- 24x24
- 32x32
- 48x48
- 64x64
- 128x128
- 256x256
アイコンの作り方自分はコレしか知らないですが…ソフト的には古いヤツ。
タスクバーとアプリバーのサイズは最大32px 最小16px
*選択肢は2つ
1.iconbitmap() iconをコード内で読み込む。ただしexeにもiconファィルがいる。
2.base64でデータにtxtで組み込む
1は配布のルートにicoファイルが必要でないとエラーが出るので現実的では無い。
dllみたいな感じの扱い
*2.が現実的
まずインポート
import base64
# メインウィンドウの設定
root = TkinterDnD.Tk()
root.title("file title sample")
root.geometry("400x300")
この辺に(base64data部分にデータをコピペ
icon_data = """ base64data
"""
# タイトルバーにアイコンを設定
# base64 データをデコードして PhotoImage を作成
icon_data_bytes = base64.b64decode(icon_data)
icon_image = tk.PhotoImage(data=icon_data_bytes)
こんな感じ
画像をbase64に変更
アイコンフリーサイト
個人的にはアイコンは自分で作るか決まったサイトの物だけを使うのが元を辿るのが楽なのでオススメ