我有Tkinter
的问题,因为我想添加一个图像作为帧的背景,然而,我尝试了很多东西,但没有显示任何东西。在我的代码开头,我会在克服这个问题后继续前进。
这是我的代码:
import Tkinter
from Tkinter import *
sc=Tk()
sc.title("Matplotlib")
sc.geometry("500x500")
img=PhotoImage("mat.png")
fr1=Frame(sc,height=200,bd=5,bg="red",relief=SUNKEN);fr1.pack(side=TOP,fill=X,expand=1)
fr2=Frame(sc,height=200,bd=5,relief=SUNKEN);fr2.pack(fill=X,expand=1)
fr3=Frame(sc,height=200,bd=5,relief=SUNKEN);fr3.pack(side=BOTTOM,fill=X,expand=1)
label1=Label(fr2,image=img);label1.pack(fill=BOTH)
mainloop()
怎么解决呢?或者我不想在可能的情况下使用任何其他模块,因为我愿意将Tkinter
用于我的代码结构
答案 0 :(得分:2)
问题是您的文件名不被视为图像的文件名。第一个非关键字参数用作图像的内部名称。
您必须为其指定file
关键字参数才能将该文件用作图像:
img=PhotoImage(file="mat.png")
此外,根据您安装的版本,tkinter可能不支持png文件。如果您的系统没有,通过上述更改,您将收到TclError: couldn't recognize image data
之类的错误。如果是这种情况,您需要将图片转换为GIF。