Python-应用程序和左上角图标

时间:2018-07-09 18:59:17

标签: python tkinter application-icon

希望我的问题有一个简单的解决方案。我有一个Python tkinter应用程序,并且一切正常。我使用以下命令生成了一个独立的exe文件进行分发。

"C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python36_64\Scripts\pyinstaller" -w -F --i "theIcon.ico" "myappsource.py"

可执行文件按预期方式工作。但是,我意识到我忘记在窗口的左上角放置一个图标。经过一些在线研究,我确定必须在代码中添加以下行(请注意,我希望应用程序图标和左上角图标相同):

root.wm_iconbitmap('theIcon.ico')

这是唯一的更改,我在Visual Studio中运行了该应用程序,并且按预期方式工作,将图标插入了左上角。但是,当我使用与以前相同的命令重新编译应用程序时,该应用程序现在将无法运行。我得到一个标题为“致命错误!”的弹出窗口。并显示“无法执行脚本myappsource”消息。我已经尝试过多次使用root.wm_iconbitmap行,也可能不尝试过-一种方法有效,另一种无效。有什么建议么?谢谢

1 个答案:

答案 0 :(得分:0)

我对这里发生的事情有一些猜测。

  • 通过添加root.wm_iconbitmap行,您现在可以在该文件上创建依赖项。 tkinter将尝试打开theIcon.ico

  • 但是,您的pyinstaller调用仅包括myappsource。因此,当tkinter查找图标时,它会失败,因此您的程序无法运行。 (在Visual Studio中可以正常工作,因为您在本地拥有文件,但在安装程序中没有该文件。)

解决方案是将文件添加到安装程序中。基于pyinstaller docs,您似乎想使用--add-binary选项。

尝试将此作为您的命令行。 (我截断了通往pyinstaller的漫长道路,只是为了使重要的参数更清晰可见。)

pyinstaller -w -F --i "theIcon.ico" --add-binary theIcon.ico "myappsource.py"