更改应用程序和任务栏图标 - Python/Tkinter
我正在用Tkinter写一个非常简单的Python脚本,使用的是Python 2.7.3。
我想知道怎么更改应用程序的图标(比如在资源管理器窗口和开始/所有程序窗口中显示的“文件”图标,而不是“文件类型”图标或应用程序主窗口的图标),还有任务栏图标(就是当应用程序最小化时在任务栏上显示的图标)。我只需要支持Windows XP和Win7的电脑。
7 个回答
5
我有一个 music_app.py
文件和一个 melody.ico
文件。
如果你使用 Tkinter,可以这样做:
from tkinter import *
root = Tk()
root.title("melody")
root.iconbitmap(r"melody.ico")
root.mainloop()
如果你使用 PyQT,可以这样做:
from PyQt4 import QtGui
import sys
app = QtGui.QApplication(sys.argv)
Form = QtGui.QWidget()
Form.setWindowIcon(QtGui.QIcon('melody.ico'))
Form.setWindowTitle('melody')
Form.show()
sys.exit(app.exec_())
之后,你可以选择把 music_app.py
转换成 .exe
文件,也可以不转换,结果都是一样的:
希望这对你有帮助!!!
16
使用
root.iconbitmap(default='ardulan.ico')
但是问题是,它只会替换窗口上的图标,而不会替换任务栏上的图标。这是因为这个py文件是通过Python解释器执行的,所以Windows使用的是它自己的图标,而不是tkinter的图标。
我觉得你需要用py2exe、cx_Freeze、py2app等工具来“编译”它。
29
在Windows上还有另一种选择:
在你的Python代码中添加以下内容:
import ctypes
myappid = 'mycompany.myproduct.subproduct.version' # arbitrary string
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)