Python, tkinter: Почему этот jpeg не отображается?

Попытка отобразить изображение из Интернета в окне моего графического интерфейса.

Пока мой код:

picURL = "https://graph.facebook.com/" + ID + "/picture" picBytes= urlopen(picURL).read() picData = io.BytesIO(picBytes) picPil = Image.open(picData) picTk = ImageTk.PhotoImage(picPil) label = Label(image = picTK, bg = "blue").pack() 

Проблема в том, что все, что я получаю, это синяя коробка, где должна быть картинка. Как это исправить?

Использование python 3.3 для окон

One Solution collect form web for “Python, tkinter: Почему этот jpeg не отображается?”

Сейчас это дикая догадка, но я просто вспомнил о подобной проблеме . Таким образом, я смог воспроизвести вашу «синюю коробку», так что это может быть и вашей проблемой. Я просто попробую.

Я предполагаю, что PhotoImage создается в какой-то другой области (возможно, метод showImage(self, id) или что-то в этом роде), и никакая ссылка на него не выходит за рамки этого метода. Это приводит к тому, что PhotoImage будет PhotoImage мусор в конце этого метода, даже если он используется в Label!

Попробуйте создать переменную, которая существует в течение всего срока службы фрейма и привязать PhotoImage к этой переменной (например, self.images[ID] при использовании класса для GUI или какой-либо глобальной переменной в противном случае). Если я прав, и это действительно проблема, то это должно помочь.

  • Ввод данных от пользователя и возврат ответа в TKinter
  • Ошибка Python tkinter StringVar () при инициализации
  • Получить входные данные из флажка в python tkinter?
  • Есть ли способ удалить ярлык или кнопку из окна tkinter, а затем добавить его обратно?
  • проблемы с импортом ttk из tkinter в python 2.7
  • Вертикальные и горизонтальные полосы прокрутки на вилке Tkinter
  • Как обновить содержимое FigureCanvasTkAgg
  • Полноэкранное приложение Tkinter
  • Python - лучший язык программирования в мире.