Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/288.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图标_Python_Tkinter - Fatal编程技术网

Python 如何更改tkinter图标

Python 如何更改tkinter图标,python,tkinter,Python,Tkinter,我已经看了其他的问题,它们没有帮助,所以我需要一些帮助来更改tkinter图标 我跟着导游走 我正在制作一个轻量级的python编辑器,比如IDLE 仍在进行中的工作 我正在使用python 3.8.3rc1 from tkinter import Tk, scrolledtext, Menu, filedialog, END import tkinter.scrolledtext as ScrolledText #main window root = Tk(className = " PYPa

我已经看了其他的问题,它们没有帮助,所以我需要一些帮助来更改tkinter图标 我跟着导游走 我正在制作一个轻量级的python编辑器,比如IDLE 仍在进行中的工作 我正在使用python 3.8.3rc1

from tkinter import Tk, scrolledtext, Menu, filedialog, END
import tkinter.scrolledtext as ScrolledText
#main window
root = Tk(className = " PYPad+ ")
photo = PhotoImage(file = "/assets/PYPad+.ico")
root.iconphoto(False, photo)
textArea = ScrolledText.ScrolledText(root, width=135, height=80)

#
#FUNCTIONS
#
def openFile():
    file = filedialog.askopenfile(parent=root, mode='rb', title=' Select File ')
    if file != None:
        contents = file.read()
        textArea.insert('1.0', contents)
        file.close()
def  saveFile():
    file = filedialog.asksaveasfile(mode='w')

    if file != None:
        data = textArea.get('1.0', END+'-1c')
        file.write(data)
        file.close()


#menu options
menu = Menu(root)
root.config(menu=menu)
fileMenu = Menu(menu)
menu.add_cascade(label=" File ", menu=fileMenu)
fileMenu.add_command(label="New")
fileMenu.add_command(label="Open", command=openFile)
fileMenu.add_command(label="Save", command=saveFile)
fileMenu.add_command(label="Print")
fileMenu.add_separator()
fileMenu.add_command(label="Save and Exit")
helpMenu = Menu(menu)
menu.add_cascade(label=" Help ", menu=helpMenu)
helpMenu.add_command(label="Help")
helpMenu.add_separator()
helpMenu.add_command(label="About")
textArea.pack()



#keeps window open
root.mainloop()
当我运行这个程序时,我得到了这个错误代码

Traceback (most recent call last):
  File "PYPad+.py", line 5, in <module>
    photo = PhotoImage(file = "/assets/PYPad+.ico")
NameError: name 'PhotoImage' is not defined
回溯(最近一次呼叫最后一次):
文件“PYPad+.py”,第5行,在
photo=PhotoImage(文件=“/assets/PYPad+.ico”)
名称错误:未定义名称“PhotoImage”

运行此代码时会发生什么?我假设您遇到了一个错误,请将其添加到问题中。您只从
tkinter
模块导入了几个特定的名称。这是一种非常有效的编写代码的方法-但这意味着您需要记住将模块中需要的每个新内容添加到
import
语句中,例如
PhotoImage
。内置的
PhotoImage
不支持ico格式,即使它已正确导入。嘿@Adil Shirinov我尝试了你的代码,得到了另一个错误代码,但它太大,无法放入comment@TuttiFrutti你不必把整个评论都放进去。最后几行应该是enoughok@Adil Shirinov
返回self.tk.call('wm','iconbitmap',self.\w,bitmap)\u tkinter.TclError:bitmap“/assets/PYPad+.ico”未定义
@TuttiFrutti我认为它与文件路径有关。您需要将.ico与脚本放在同一文件夹或字典中,因为python只在当前字典中搜索,或者您可以输入完整的路径名。如果您需要完整的错误代码,请在此处输入
import tkinter as tk
root = tk.Tk()

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