2011-11-13 19 views
1

私はこのメッセージを持っています:image "pyimage2"は存在しません。私は、画像を持つ複数のウィンドウを持って、どのようにしたいですか? wind = Tkinter.Toplevel()PILとTkinter、マルチウィンドウ

import Image 
import ImageTk 
import Tkinter 



def new(): 
    wind = Tkinter.Tk() 
    wind.geometry('600x600')    # This not work, why? 
    imageFile2 = Image.open("someimage2.jpg") 
    image2 = ImageTk.PhotoImage(imageFile2) 

    panel2 = Tkinter.Label(wind , image=image2) 
    panel2.place(relx=0.0, rely=0.0) 
    wind.mainloop() 

master = Tkinter.Tk() 
master.geometry('600x600')    # This work fine 
imageFile = Image.open("someimage.jpg") 
image1 = ImageTk.PhotoImage(imageFile) 

panel1 = Tkinter.Label(master , image=image1) 
panel1.place(relx=0.0, rely=0.0) 
B = Tkinter.Button(master, text = 'New image', command = new).pack() 
master.mainloop() 

答えて

3

変更wind = Tkinter.Tk()は::ここ

私のコードです

def new(): 
    wind = Tkinter.Toplevel() 
    wind.geometry('600x600')  

を変更する必要があるすべてです。


参考:

+0

Niceeeeeのunutbu、あなたは私のすべての時間を助け、ありがとう! – DRdr

+0

この回答は私にも役立ちました。しかし、今私のプログラムのトップフレームの上にポップアップする小さな空のフレームが追加されています。どのようにこれを取り除くための任意の考え? – erjoalgo

+1

@ealfonso:この質問は、2つの別々のウィンドウを作成する方法です。あなたが見ている "小さな空のフレーム"はおそらくウィジェットのないこれらのウィンドウの1つです。ただ1つのウィンドウを望むなら、あなたのプログラムは 'root = Tkinter.Tk()'を呼び、 'Tkinter.Toplevel()'を決して呼び出さないでください。 – unutbu

関連する問題