2016-11-17 2 views
0

У меня проблема с Tkinter, так как я хотел бы добавить изображение в качестве фона рамки, однако, я пробовал много вещей, но ничего не отображалось. l m в начале моего кода, и я буду двигаться дальше после того, как я преодолю эту проблему.Изображение не отображается на 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

как насчет jpg? поскольку я использую img, и у меня нет проблем с этим. –

ответ

2

Проблема в том, что ваше имя файла не рассматривается как имя файла. Первый аргумент без ключевого слова используется как внутреннее имя изображения.

Вы должны указать аргумент file ключевого слова для того, чтобы использовать этот файл в качестве изображения:

img=PhotoImage(file="mat.png") 

Кроме того, в зависимости от того, какой версии вы установили, Tkinter не поддерживают PNG файлов. Если ваша система не работает, с приведенным выше изменением вы получите ошибку, например, TclError: couldn't recognize image data. Если это так, вам нужно преобразовать свое изображение в GIF.

+0

работает без ошибок, но пока ничего не появилось на tkinter. –