pyinstaller打包pyqt程序,在pycharm中运行时任务栏可以正常显示图标:
但是打包之后,文件夹中正常显示图标,任务栏不显示图标。
版本是:win10系统,pyqt5,python3.11
尝试过的解决方法:
1.使用win32的api
import ctypes
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID("myappid")
2.使用绝对路径
self.setWindowIcon(QIcon(QFileInfo(__file__).absolutePath() + '/MainWindow.ico'))
3.删除win系统的IconCache缓存
4.打包时使用绝对路径
pyinstaller -Fw MainWindow.py -i D:\workspace\python\tb-study\MainWindow.ico
以上方法都试了,前前后后搞了一天了,还是不行,求帮忙!感谢各位!
可以换一种方式,仅供参考:
https://blog.csdn.net/yanhuatangtang/article/details/129119073?spm=1001.2014.3001.5502
-D, --onedir
生成的不是一个很大的exe文件,而是一个文件夹,里面包含着一个很小的exe以及一堆的相关文件,即创建一个包含可执行文件的单个文件夹包(默认)。
-F, --onefile
生成一个大的exe文件,但是没有其他相关文件,可以直接执行。即创建一个文件捆绑的单一的可执行文件。
-n, --name
重命名生成的exe文件的名称。
--specpath
生成的打包文件的目录,默认时当前目录。
-c, --console, --nowindowed
生成的打包程序运行时会带一个终端窗口,调试时比较方便看到输出信息,默认选项
-w, --windowed, --noconsole
生成的打包程序运行时不带终端窗口,建议使用这个,调试的时候用终端执行exe文件,效果和带终端的程序一样,还能看到程序崩溃的点报的trace。
-i, --icon
给生成的exe换个图标,默认的图标是python。
打包相关的一些入门级的坑看这里
https://blog.csdn.net/marwenx/article/details/108196749