Установка фона 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