这是我目前拥有的代码格式:
import Tkinter as tk
class mycustomwidow:
def __init__(self,parent,......)
......
......
tk.Label(parent,image=Myimage)
tk.pack(side='top')
def main():
root=tk.Tk()
mycustomwindow(root)
root.mainlopp()
if __name__ == '__main__':
main()
我的问题是:我应该在哪里声明Myimage
我在课堂上使用的照片mycustomwindow
?
如果我在下面的内容Myimage=tk.PhotoImage(data='....')
之前root=tk.Tk()
放置,它会给我too early to create image
错误,因为我们无法在根窗口之前创建图像。
import Tkinter as tk
Myimage=tk.PhotoImage(data='....')
class mycustomwidow:
def __init__(self,parent,......)
......
......
tk.Label(parent,image=Myimage)
tk.pack(side='top')
def main():
root=tk.Tk()
mycustomwindow(root)
root.mainlopp()
if __name__ == '__main__':
main()
如果我输入这样Myimage=tk.PhotoImage(data='....')
的函数main()
,它会说它无法Myimage
在class mycustomwindow
.
import Tkinter as tk
class mycustomwidow:
def __init__(self,parent,......)
......
......
tk.Label(parent,image=Myimage)
tk.pack(side='top')
def main():
root=tk.Tk()
Myimage=tk.PhotoImage(data='....')
mycustomwindow(root)
root.mainlopp()
if __name__ == '__main__':
main()
我的代码结构有什么严重问题吗?我应该在哪里声明Myimage
以便可以在其中使用class mycustomwindow
?