更改应用程序和任务栏图标 - Python / Tkinter

时间:2013-02-15 17:53:39

标签: python tkinter

我一直在研究一个非常简单的python / tkinter脚本(.pyw文件),我想更改它的应用程序图标(浏览器窗口中显示的'文件'图标和开始/例如,所有程序窗口 - 不是“文件类型”图标,也不是应用程序图标的主窗口)和任务栏图标(应用程序最小化时显示在任务栏上的图标)。是否可以更改它们,或者当您通过.exe 安装应用程序时,它是否可行?

这个小应用程序应该仅在Windows XP / 7机器上运行,它在Python 2.7.3中。

提前致谢!

6 个答案:

答案 0 :(得分:10)

Windows上的另一个选项如下:

对你的python代码添加以下内容:

import ctypes

myappid = 'mycompany.myproduct.subproduct.version' # arbitrary string
ctypes.windll.shell32.SetCurrentProcessExplicitAppUserModelID(myappid)

答案 1 :(得分:6)

使用

install.packages("rvest")
library(rvest)
url <- html("https://www.zomato.com/bangalore/restaurants?page=1")
url %>% html_node("li a.result-title") %>% html_text()

但问题是它只会替换不在任务栏上的窗口上的图标。这是因为py文件是从python解释器执行的,所以windows使用他的图标而不是tkinter图标。

你必须编译&#39;我想用py2exe,cx_Freeze,py2app ......

http://www.py2exe.org/index.cgi/CustomIcons

答案 2 :(得分:1)

您可以通过创建 python.exe pythonw.exe 文件的新快捷方式来实现此目的(在Window&#39。资源管理器中右键单击选项)菜单),然后右键单击快捷方式,选择属性,并将目标更改为:

"C:\Path\to\Python.exe" "Absolute\or\relative\path\to\file.py"

然后选择更改图标(仍在属性窗口中),并选择.ico文件。从此快捷方式执行程序将自动将所选图标设置为任务栏和窗口图标。

请注意,通过执行设置快捷方式,而不是直接单击.py文件,当前工作目录将是python.exe 之一,而不是您的文件,也可以在快捷方式的属性窗口中,在&#34;开始于&#34;输入字段(在目标下方),或使用python方法os.getcwd()查找当前工作目录,使用os.chdir(path)设置

答案 3 :(得分:0)

使用PyInstaller创建单个文件exe并使用Inno Setup构建Windows安装程序包。 Inno Setup会为你做一些图标。

答案 4 :(得分:0)

我有一个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,还是不转换,结果保持不变:

enter image description here

希望对您有帮助!

答案 5 :(得分:0)

对于那些到达这篇文章寻找更准确和完整答案的人:

import tkinter as tk
root = tk.Tk()

root.iconbitmap('/path/to/ico/icon.ico')
root.mainloop()

源引用为 delftstack.com