PhotoImage不显示与其关联的图像

发布于 2021-01-29 15:02:37

我是tkinter的新手,我注意到当我尝试将图片添加为窗口的背景时,它不会显示。这是代码。

from tkinter import *

root = Tk()

def cheese():
    root.destroy()

logo = PhotoImage('../Desktop/logothing.gif')
background_label = Label(root, image=logo)
background_label.place(x=0, y=0, relwidth=1, relheight=1)

explanation = """Flaming Arrows whizz over your hair, War rages around you. Suddenly,
it charges into you. A 8 foot tall mechanical beast the enemy have been training for war.
You have no chance but to fight it. You swing your sword as hard as you can...Only to
leave a minor dent on it's armor. With one blow from its club, you fall unconscious."""

w = Label(root, image=logo).pack(side='right')
w1 = Button(root, text = 'Wake Up',command = cheese, fg='blue', font = "Impact 20")
w1.pack(side='bottom')

w2 = Label(root, 
           justify=LEFT, 
           text=explanation,
           compound = CENTER,
           fg="blue", padx=0,font="ComicSansMS 32 bold")
w2.pack(side='left')
关注者
0
被浏览
67
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您需要使用指定选项filePhotoImage(file = "foo.gif")

    另外,如effbotPhotoImage的页面中所述

    您必须在Python程序中保留对图像对象的引用,方法是将其存储在全局变量中,或者将其附加到另一个对象。

    from tkinter import *
    
    root = Tk()
    def cheese():
        root.destroy()
    logo = PhotoImage(file = '../Desktop/logothing.gif')
    background_label = Label(root, image=logo)
    background_label.image = logo
    background_label.place(x=0, y=0, relwidth=1, relheight=1)
    explanation = """Flaming Arrows whizz over your hair, War rages around you. Suddenly,
    it charges into you. A 8 foot tall mechanical beast the enemy have been training for war.
    You have no chance but to fight it. You swing your sword as hard as you can...Only to
    leave a minor dent on it's armor. With one blow from its club, you fall unconscious."""
    w= Label(root, image=logo).pack(side='right')
    w1 = Button(root, text = 'Wake Up',command = cheese, fg='blue', font = "Impact 20")
    w1.pack(side='bottom')
    
    w2 = Label(root, 
               justify=LEFT, 
               text=explanation,
               compound = CENTER,
               fg="blue", padx=0,font="ComicSansMS 32 bold")
    w2.pack(side='left')
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看