看到这个之后,PhotoImage没有显示与它相关的图像我想知道为什么省略该类型的选项不会抛出一个错误,而只是不显示图像?
此代码不显示图像而不抛出任何错误。
import tkinter as tk
root = tk.Tk()
image1 = tk.PhotoImage("ban.gif")
tk.Label(root,image=image1).pack()
tk.Label(root, text="some string here").pack()
root.mainloop()但是这个很好
import tkinter as tk
root = tk.Tk()
image1 = tk.PhotoImage(file="ban.gif")
tk.Label(root,image=image1).pack()
tk.Label(root, text="some string here").pack()
root.mainloop()在effbot上,它没有提到任何关于它的信息,所以我检查了创作照片的tcl手册页面,但是仍然找不到为什么它会这样运行。
此外,如果这两个是重复的,请让我知道,所以我将删除/结束表决这一个。
发布于 2015-01-18 13:34:03
当您在python中指定带有命名参数的函数时,这些命名参数以特定的顺序出现。如果在定义这些参数时不提供名称,则按参数出现在函数定义中的顺序应用这些参数。
对于PhotoImage,第一个关键字参数是图像的名称,而不是文件的路径。因此,PhotoImage("ban.gif")和执行PhotoImage(name="ban.gif")是一样的。它不会抛出错误,因为"ban.gif“是一个有效的名称,而且在一些用例中,您希望在不引用文件的情况下创建图像。
https://stackoverflow.com/questions/28009013
复制相似问题