私はPyinstallerを使ってwxPythonアプリケーションのWindows実行可能ファイルをビルドします。ウィンドウアイコンを追加して、pyinstaller --icon=test.ico --onefile --noconsole test.pyw
を実行すると、ビルドされた実行可能ファイルのすぐ隣にtest.icoファイルを置いた場合に限り、完全に問題ありません。これにより、私はexeとアイコンの両方を配布することができ、それは少なくとも不快です。PyinstallerでEXEにウィンドウアイコンを埋め込む
私もwxPythonのアプリで
icon = wx.EmptyIcon()
icon.CopyFromBitmap(wx.Bitmap("test.ico", wx.BITMAP_TYPE_ANY))
self.SetIcon(icon)
を行います。
私の研究では、アイコンのbase64文字列をハードコードすることを提案していますが、紙面に自分のコードを印刷する必要があるため、非常に長い文字列です。私はthis other postを見て、それは私の答えを持っていると感じますが、私はそれを理解していません。
So. exeファイルにアイコンを埋め込むにはどうすればいいですか?
EDIT:あなたはすでにあなたの実行可能ファイルに.ico
が含まれている--icon
オプションで
# -*- mode: python -*-
block_cipher = None
a = Analysis(['test.pyw'],
pathex=['D:\\test'],
binaries=[],
datas=[],
hiddenimports=[],
hookspath=[],
runtime_hooks=[],
excludes=[],
win_no_prefer_redirects=False,
win_private_assemblies=False,
cipher=block_cipher)
pyz = PYZ(a.pure, a.zipped_data,
cipher=block_cipher)
exe = EXE(pyz,
a.scripts,
a.binaries,
a.zipfiles,
a.datas,
name='test',
debug=False,
strip=False,
upx=True,
console=False , icon='test.ico')
を助けを得るためのアイコンを取得するコードを表示します。だからあなたは私のアプリにそのコードを追加する必要があると言いますか?しかしどこでどのように? – Javier
'' CopyFromBitmap''では、他のstackoverplowポストに記述されているように、 '' "test.ico" ''を '' resource_path''の呼び出しの結果に置き換えます。 specファイルでは '' a.datas''に '' test.ico''を追加しています( '' icon = ''がバイナリにアイコンを追加することを忘れないでください)。 – nepix32
パーフェクト。レコードのために、その記事の関数をwxPythonスクリプトに追加する必要があります。私はクラスのメソッドとしてではなく、それの外でした。うまく動作します。 – Javier