Adding a background image in python
PhotoImage
is not an attribute of the Tk()
instances (root
). It is a class from Tkinter
.
So, you must use:
backgroundImage = PhotoImage("D:\Documents\Background.gif")
Beware also Label
is a class from Tkinter
...
Edit:
Unfortunately, Tkinter.PhotoImage
only works with gif files (and PPM).If you need to read png files you can use the PhotoImage
(yes, same name) class in the ImageTk
module from PIL
.
So that, this will put your png image in the canvas:
from Tkinter import *from PIL import ImageTkcanvas = Canvas(width = 200, height = 200, bg = 'blue')canvas.pack(expand = YES, fill = BOTH)image = ImageTk.PhotoImage(file = "C:/Python27/programas/zimages/gato.png")canvas.create_image(10, 10, image = image, anchor = NW)mainloop()
just change to :
image = Image.open("~~~path.png") backgroundImage=ImageTk.PhotoImage(image)
believe me this will 100% work
from Tkinter import *from PIL import ImageTkcanvas = Canvas(width = 200, height = 200, bg = 'blue')canvas.pack(expand = YES, fill = BOTH)image = ImageTk.PhotoImage(file = "C:/Python27/programas/zimages/gato.png")canvas.create_image(10, 10, image = image, anchor = NW)mainloop()