Python-设置PyQt应用程序图标和程序图标
开始
最近站长参与了深蓝重保项目,在项目中其中一个任务是对惠御平台的攻击告警进行研判与分析。为此我为了简化分析流程、使其数据输出更加直观化,同时为了方便我们更加快速的对ip进行封堵解封操作,我开发了一个py程序用于脚本化执行一些需要频繁手动操作的点。展示如下
回到主题,在我打包好py程序后,又该如何设置应用程序的图标呢?下面有两种方法来达到相似的效果
一、主窗口类 MainWindow
可以在主窗口 MainWindow 类中设置应用程序的图标
self.setWindowIcon(QIcon("favicon.ico"))
实现的效果如下,可以看到程序左上角的图标变为了我们设置的图标
二、setWindowIcon 方法
在程序加载处添加 setWindowIcon 为程序设置图标
window.setWindowIcon(QIcon("favicon.ico"))
三、使用 ctypes
使用 ctypes 并不是为我们设置图标,而是告诉 windows 系统把程序声明为我们自己的应用,这样我们上面设置的 ico 图标才能显示在 windows 的任务栏中。在程序顶部设置如下代码
import ctypes
myappid = "云防助手"
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)
展示结果如下
如果设置后在 windows 中没有正确展示图标,那么尝试将图标的位置改为绝对位置而不是相对位置
另外在使用 pyinstaller 打包 py 程序时可以使用 -i 参数来为打包的程序设置应用图标
pyinstaller -i favicon.ico yourpy.py
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Egstar站长!
评论