在Python 2上设置URL gif背景,但不使用新框架

在Python 2上设置URL gif背景,但不使用新框架,python,tkinter,frame,Python,Tkinter,Frame,我正在尝试创建一个程序,其中包含主框架和三个按钮,用于打开新框架。我可以将URL.gif图像作为主框架的背景,但在加载新框架时,我很难更改URL.gif图像。 我一直在努力想办法,但关于背景为URL.gif的新框架窗口的信息并不多。谁能帮我一把吗?多谢各位 from Tkinter import* import urllib import base64 import Tkinter def epl_Window(): epl = Tk() epl.title("E")

我正在尝试创建一个程序,其中包含主框架和三个按钮,用于打开新框架。我可以将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()

由于与
epl\u Window()
方法相关的两个原因,您的程序无法运行:

  • 您正在运行多个
    Tk()
  • 您没有将
    标签
    附加到
    epl
解决方案 您可以通过以下方式分别修复这两个问题:

  • 用于将行
    epl=Tk()
    更改为
    epl=Tkinter.Toplevel()
  • label=label(image=image)
    更改为
    label=label(epl,image=image)
演示 应用上述修改后,您将得到以下结果(我单击了3个按钮):

奖金
  • 按照标准运行
    import Tkinter as Tk
  • 尊重这种实例化小部件的方式:
    label=Tk.label(…)
  • 应用面向对象的概念
  • 跟随
是的Toplevel()已修复,谢谢