Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 正在尝试更改“文本”顶部tkinter Tk()中的默认图标;“窗口”;_Python_Tkinter_Filepath_.ico - Fatal编程技术网

Python 正在尝试更改“文本”顶部tkinter Tk()中的默认图标;“窗口”;

Python 正在尝试更改“文本”顶部tkinter Tk()中的默认图标;“窗口”;,python,tkinter,filepath,.ico,Python,Tkinter,Filepath,.ico,我不知道为什么会出现错误,我按照6条指南制作了一个.ico文件,并按字面意思复制了它 两个教程尝试了相对非相对文件路径的所有类型的组合 from tkinter import * from PIL import ImageTk, Image root = Tk() root.title('Local Host Store') root.geometry("500x500") root.iconbitmap('pleasegod1.ico') #mainloop ro

我不知道为什么会出现错误,我按照6条指南制作了一个.ico文件,并按字面意思复制了它 两个教程尝试了相对非相对文件路径的所有类型的组合

from tkinter import *
from PIL import ImageTk, Image


root = Tk()
root.title('Local Host Store')
root.geometry("500x500")

root.iconbitmap('pleasegod1.ico')

#mainloop

root.mainloop()

                        <ERROR CODE BELOW>
[Running] python -u "c:\Users\Eric\Desktop\LocalHostStore\main.py"
Traceback (most recent call last):
  File "c:\Users\Eric\Desktop\LocalHostStore\main.py", line 10, in <module>
    root.iconbitmap('pleasegod1.ico')
  File "C:\Users\Eric\AppData\Local\Programs\Python\Python38\lib\tkinter\__init__.py", line 2071, in 
wm_iconbitmap
    return self.tk.call('wm', 'iconbitmap', self._w, bitmap)
_tkinter.TclError: bitmap "pleasegod1.ico" not defined
从tkinter导入*
从PIL导入ImageTk,图像
root=Tk()
root.title('本地主机存储')
根几何(“500x500”)
root.iconbitmap('plesegod1.ico')
#主回路
root.mainloop()
[正在运行]python-u“c:\Users\Eric\Desktop\LocalHostStore\main.py”
回溯(最近一次呼叫最后一次):
文件“c:\Users\Eric\Desktop\LocalHostStore\main.py”,第10行,在
root.iconbitmap('plesegod1.ico')
文件“C:\Users\Eric\AppData\Local\Programs\Python38\lib\tkinter\\uuuu init\uuuu.py”,第2071行,在
wm_iconbitmap
返回self.tk.call('wm','iconbitmap',self.\w,位图)
_tkinter.TclError:未定义位图“plesegod1.ico”

尝试键入整个图像路径或将图像放置在同一代码文件中,并确保图像类型为.ico

替代解决方案是使用Tk.iconphoto()方法,而不是Tk.iconbitmap()。相反,root.iconphoto(True,PhotoImage(file=“C:/Users/Eric/Desktop/GuiFlowerIcon.png”))工作得很好,我想它只是没有使用.icon文件。对我的用例进行Tk.iconbitmap()故障排除效率不高。这只是将tkinter窗口顶部的图标从默认tkinter库“商标”图标更改为您自己的自定义图标。iconphoto可以是png。旁注:我花了很长时间按照教程创建.ico文件,我的文件是15x15 px网格,在ms paint中保存为位图24,我想,然后将文件类型转换为.ico,windows也认识到了这一点,如果您尝试将大png文件更改为.ico,它甚至不允许您更改文件扩展名。。。非常奇怪。问题仍然可能是,如果有人有任何制作python tkinter可以识别的.ICO文件的技巧,或者它是如何在中实现的,那么它可能无法识别为.ICO文件。。c语言?在幕后,这将是非常酷的,因为我希望有一天能解包tkinter,以及它是如何工作的。

你的项目结构到底是什么?在
root.iconbitmap(…)之前执行
打印(os.getcwd())
(需要
导入os
并查看预期路径是否在控制台中打印。尝试提供整个路径在同一目录中创建一个新文件,然后导入os,
os.startfile('plesegod1.ico')
,查看python是否可以打开该文件。也可以尝试给它一个完整的路径。您还可以通过说
print(os.path.exists('plesegod1.ico'))来检查文件是否存在。
同一个文件在html xD java程序中打开,可作为tkinter小部件中的照片使用,这一点非常不值得我花时间:/