我到处搜索,我不知道如何将自己的图标添加到界面。
我不需要知道如何更改应用程序图标或标题栏,我需要的是 PyInstaller 将编译后用于 GUI 中按钮的图像添加到可执行文件中。
我发现的最好的是这个,但它不起作用:
pyinstaller --clean --onefile --noconsole --icon="media/icon.png" -i="media/icon.png" --add-data="media/*;." main.py
我的图标显示在按钮中,但不是默认的 PyQt 图标,而是自定义的图标。
使用
--one-file
标志,当运行应用程序可执行文件时,pyinstaller 将所有文件解压到临时目录中,然后将该临时目录传递给 sys._MEIPASS
。因此,为了访问媒体文件夹中的图标文件,基本目录应从 sys._MEIPASS
开始。
import sys
from os import path
# If we're running the app as an executable or as a python script
if getattr(sys, "frozen", False):
# If it's an executable set the base directory to sys._MEIPASS
base_directory = sys._MEIPASS
else:
# Otherwise set it as the folder containing the main script
base_directory = path.dirname(path.realpath("__file__"))
media_folder = path.join(base_directory, "media")
button_icon = path.join(media_folder, "button.png")
此外,您不必指定您
media/*
或使用;
,因为最新版本的pyinstaller您只需说--add-data=media:media
。