2011-11-13 83 views
1

我有這樣的消息:image「pyimage2」不存在。我想擁有帶圖像的多窗口,怎麼樣?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()wind = Tkinter.Toplevel()

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

這就是你需要改變。


參考:

+0

Niceeeee unutbu,你幫我每一次,謝謝! – DRdr

+0

這個答案對我也有幫助。但是,現在我看到一個額外的小空框架,與我的程序頂部框架一起彈出。任何想法如何擺脫這一點? – erjoalgo

+1

@ealfonso:這個問題是關於如何創建兩個獨立的窗口。你看到的「小空框架」可能是其中沒有窗口部件的窗口之一。如果你只需要一個窗口,那麼你的程序應該調用'root = Tkinter.Tk()',並且永遠不要調用'Tkinter.Toplevel()'。 – unutbu