Tkinter背景图片无法加载

时间:2019-08-05 06:01:43

标签: python image tkinter background

我正在尝试创建一个名为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')

2 个答案:

答案 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)