我正在尝试创建一个名为Game的类,该类一旦被调用就已经具有诸如背景图像之类的属性。问题在于,Tkinter不会使用以下代码加载背景图片,我无法弄清楚原因。
class Game:
def __init__(self):
self.canvas = tkinter.Canvas(root, height=600, width=600)
root.title('Hangman')
root.minsize(600, 600)
root.maxsize(600, 600)
self.canvas.pack()
self.background_image = tkinter.PhotoImage(file='D:\Python\Projects\Hangman\Images\Platform_3.png')
self.background_label = tkinter.Label(root, image=self.background_image)
self.background_label.place(relwidth=0.3, relheight=0.3, anchor='nw')
答案 0 :(得分:0)
问题出在路径上。斜线弄乱了。
您可以通过以下方法解决它:
用正斜杠代替反斜杠。例如:
"D:/Python/Projects/Hangman/Images/Platform_3.png"
在字符串后使用r
(r
表示该字符串将被视为原始字符串 Google )。例如:
r"D:\Python\Projects\Hangman\Images\Platform_3.png"
使用双反斜杠代替一个。例如:
"D:\\Python\\Projects\\Hangman\\Images\\Platform_3.png"
答案 1 :(得分:0)
您可以尝试创建一个变量并为其保存引用。像这样:
add = PhotoImage(file="icons/add.png")
label = Label(image=add)
label.image = add # keep a reference!
然后:
AddButton = Button(MOWindow, image=add, border="0", bg="white", command=AddCallback)