本文介绍了PhotoImage 未显示与其关联的图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我对 tkinter 很陌生,我注意到当我尝试将图片作为背景添加到我的窗口时,它不会显示出来.这是代码.
I am very new to tkinter and I notice that when I try to add a picture as a background to my window, it just won't show up. Here's the code.
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')
推荐答案
需要使用file
指定选项.PhotoImage(file = "foo.gif")
另外,如 PhotoImage 在 effbot 上的页面所述,
您必须在 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')
这篇关于PhotoImage 未显示与其关联的图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!