これは私が現在持っているコードの形式です:
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
ですか?