Установка фона URL gif, но не работает с новым фреймом в Python 2

Я пытаюсь создать программу с основным кадром и тремя кнопками, которая открывает новый кадр. Мне удалось получить изображение URL .gif в качестве фона для основного фрейма, но у меня возникают трудности при изменении изображения URL .gif для нового фрейма при его загрузке. Я пытался выяснить это, но не так много информации о новом окне фрейма с фоном URL .gif. Кто-нибудь может мне помочь? Спасибо

from Tkinter import*
import urllib
import base64
import Tkinter


def epl_Window():
    epl = Tk()
    epl.title("E")
    URL = "h"
    epl.a = urllib.urlopen(URL)
    raw_input = epl.a.read()
    epl.a.close()
    c = base64.encodestring(raw_input)
    image = PhotoImage(data=c)
    label = Label(image=image)
    label.pack()

1 ответ

Решение

Ваша программа не работает по 2 причинам, связанным с epl_Window() метод:

  • Вы используете более одного экземпляра Tk()
  • Вы не прикрепили label в epl

Решение

Вы можете исправить эти 2 проблемы соответственно:

  • С помощью Toplevel() изменить линию epl = Tk() в epl = Tkinter.Toplevel()
  • изменения label = Label(image = image) в label = Label(epl, image = image)

демонстрация

Как только вы примените изменения, указанные выше, вы получите это (я нажал на 3 кнопки):

бонус

  • Следуйте стандартам, запустив import Tkinter as Tk
  • Уважайте этот способ создания ваших виджетов: label = Tk.Label(...)
  • Применить объектно-ориентированные концепции
  • Следуйте PEP
Другие вопросы по тегам