###前提・実現したいこと
Python+TkinterでGUIアプリケーションを作っています。
複数のウィンドウを生成し、それぞれに画像を表示しようとしているのですが、
2個目以降のウィンドウをTk()で生成すると、2個目以降のウィンドウに
画像を表示する際にエラーが発生します。
2個目以降のウィンドウをToplevel()で生成するとエラーが発生しないことは
わかったのですが、Tk()でエラーが発生する理由がわかりません。
Tk()ではいけない理由をご存知の方、アドバイスをいただけないでしょうか。
###発生している問題・エラーメッセージ
Traceback (most recent call last): File "C:.../multi_window_example.py", line 18, in <module> label2 = Tk.Label(frame2, image=img2) File "C:\Anaconda2\lib\lib-tk\Tkinter.py", line 2597, in __init__ Widget.__init__(self, master, 'label', cnf, kw) File "C:\Anaconda2\lib\lib-tk\Tkinter.py", line 2096, in __init__ (widgetName, self._w) + extra + self._options(cnf)) _tkinter.TclError: image "pyimage2" doesn't exist
###該当のソースコード
import Tkinter as Tk from PIL import Image, ImageTk root = Tk.Tk() frame = Tk.Frame(root) im = Image.open('tmp.png') img = ImageTk.PhotoImage(im) label = Tk.Label(frame, image=img) label.pack() frame.pack() root2 = Tk.Tk() # root2 = Tk.Toplevel() frame2 = Tk.Frame(root2) im2 = Image.open('tmp.png') img2 = ImageTk.PhotoImage(im2) label2 = Tk.Label(frame2, image=img2) label2.pack() frame2.pack() root.mainloop()
###試したこと
google検索
###補足情報(言語/FW/ツール等のバージョンなど)
Anacondaを使用
Python 2.7.13

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。