tkinter iconphoto


import tkinter as tk

window = tk.Tk()
window.title('Icon?')
window.tk.call('wm', 'iconphoto', window._w, tk.PhotoImage(file='D:\新建文件夹\picture.jpg'))
window.bind("<Button-1>", lambda e: window.destroy())
window.mainloop()
这段代码总是报错
_tkinter.TclError: couldn't recognize data in image file "D:\新建文件夹\picture.jpg"

还有
call method里前3个属性什么意思

"<Button-1>"什么意思
为什么这里要用lambda
#\需要转义,或者字符串前面加个r
window.tk.call('wm', 'iconphoto', window._w, tk.PhotoImage(file=r'd:\新建文件夹\picture.png'))

tk.call() 是tkinter到tcl解释器的接口,用call方法运行tcl命令。
把想要设置成logo的图片设置为 tk.PhotoImage。否则会出错:tkinter.TclError
就是前面参数不变,将最后的file= 后面的字符串更改为自己想要替换的png类型图片就好。 注意图片需要png格式,jpg格式会报错
————————————————
版权声明:本文为CSDN博主「lockin.」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43858843/article/details/123990488

<Button-1>表示鼠标左键,为事件名称,bind第一个参数为事件类型、修饰符、详情的组合
第二个参数为处理函数,可以先用def定义后传入函数名称,也可以字节lambda,这样就不用def定义,简化代码
事件名称详细可以参考

img


picture.jpg的文件夹路径应该加入转义字符\


import tkinter as tk

window = tk.Tk()
window.title('Icon?')
window.tk.call('wm', 'iconphoto', window._w, tk.PhotoImage(file='D:\\新建文件夹\\0.png'))
window.bind("<Button-1>", lambda e: window.destroy())
window.mainloop()

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632