2016-08-10 3 views
0

Я пытался настроить графический интерфейс с использованием python и пакета Tkinter. У меня проблема, когда изображение не отображается. Вот мой код.Изображение Tkinter не отображается

import Tkinter as tk 
from PIL import Image, ImageTk 


class Application(tk.Frame): 
    def __init__(self, master=None): 
     tk.Frame.__init__(self, master) 
     self.grid() 
     self.createWidgets() 

    def createWidgets(self): 
     self.image = Image.open("my_image.png") 

     self.photo = ImageTk.PhotoImage(self.image) 

     self.label = tk.Label(self, image=self.photo) 
     self.label.image = self.photo # keep a reference! 
     self.label.grid(row=0,column=1) 



app = Application() 
app.master.title("Sample application") 
app.mainloop() 

Я включил линию keep refernce, предложенную другими, однако она, похоже, не работает. Я использую OS X 10.10.4 и Python 2.7.12 :: Anaconda custom (x86_64)

Спасибо!

ответ

0

Я решил эту проблему, обновив свою анаконду, используя conda update --prefix /Users/cwallis/anaconda anaconda. У меня возникла проблема с тем, что там были две версии Tkinter, которые были решены с помощью TK Framework double implementation issue

1

Я тестировал это на Miniconda 2 на Linux, и ваш образец работал отлично.

Что вы подразумеваете под Python 2.7.12 :: Anaconda custom? Это встроенный Python?

+0

Я установил стандартный пакет anaconda, я не уверен, что имел в виду пользовательский. Я не уверен, в чем проблема: я просмотрел множество примеров того, как изображение не появляется в Tkinter, и это, похоже, не подходит ни одному из них. Наверное, мне следовало бы установить анаконду, чтобы понять, не проблема. Спасибо за тестирование! По крайней мере, я теперь его не код. – chriswallis