Hinzufügen eines Hintergrundbilds in python
Ich versuche, fügen Sie ein hintergrund-Bild auf eine Leinwand in Python. So weit der code sieht so aus:
from Tkinter import *
from PIL import ImageTk,Image
... other stuffs
root=Tk()
canvasWidth=600
canvasHeight=400
self.canvas=Canvas(root,width=canvasWidth,height=canvasHeight)
backgroundImage=root.PhotoImage("D:\Documents\Background.png")
backgroundLabel=root.Label(parent,image=backgroundImage)
backgroundLabel.place(x=0,y=0,relWidth=1,relHeight=1)
self.canvas.pack()
root.mainloop()
Es ist die Rückkehr einer AttributeError: PhotoImage
InformationsquelleAutor user1689935 | 2012-11-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
PhotoImage
ist nicht ein Attribut desTk()
Instanzen (root
). Es ist eine Klasse vonTkinter
.So, müssen Sie:
Vorsicht auch
Label
ist eine Klasse vonTkinter
...Edit:
Leider
Tkinter.PhotoImage
funktioniert nur mit gif-Dateien (und PPM).Wenn Sie Lesen müssen png-Dateien können Sie die
PhotoImage
(ja, gleicher name) Klasse, die in derImageTk
Modul ausPIL
.So, dass, dies wird Ihr png-Bild in die Leinwand:
siehe Beispiel in meinem edit
Ist es immer noch möglich ist, ziehen andere Stoffe über das Bild?
InformationsquelleAutor joaquin
einfach ändern :
glauben Sie mir, das wird 100% funktionieren
InformationsquelleAutor AV 198