2014-09-29 159 views
1

這就是發現錯誤:'image'pyimage2「不存在」?

global backbuttonimg 
backbuttonimg = PhotoImage(file="backbutton.gif") 
C6 = tkinter.Button(W_CheckDates, image=backbuttonimg, command = CheckDatesBack) 
C6.pack() 

我不明白爲什麼這是行不通的。我還有一個形象在我的計劃在這裏:

def Login(): 
    global W_Menu 
    W_Menu = Tk() 
    W_Menu.geometry('160x310+600+200') 
    W_Menu.title("NSS DB") 
    A0 = Canvas(W_Menu, width='160', height='160') 
    A0.pack() 
    global img 
    img = PhotoImage(file="nsslogo.gif") 
    A0.create_image(80,80, image=img) 

我也得到了類似的錯誤,當我嘗試調用上述定義,它已經開始調用後(例如,當我的程序註銷),所以我已經調整所以窗口只是簡單地去除它,而不是再次調用它,而且我不會再次發生錯誤。不過,我很困惑,爲什麼現在我的代碼的前一部分出現錯誤,因爲按鈕根本不顯示它是否是第一次調用。對不起,如果這有點含糊,請問我是否沒有詳細解釋。提前致謝。

P.S.我在其他線程看過類似的問題,但沒有適用於我。

+0

顯示完整的錯誤/追溯。 – Evert 2014-09-29 11:43:04

回答

4

好,所以你說login功能工作一次,然後它不能再工作。這裏可以使用的tk.Toplevel()代替tk.Tk()要解決的問題看:why python photoimages don't exist?tkinter.TclError: image "pyimage3" doesn't exist

這些線程提到你怎麼就不能有Tk()同時運行的兩個實例,你必須使用Toplevel()代替。

爲什麼這些線程不適用於你(我認爲他們這樣做)?但只是一個提示,如果你聲明他們不適用於你,然後給出原因,這有助於使你的問題更清晰。此外,當您的問題涉及特定錯誤時,請添加完整追溯。

希望這會有所幫助。

+1

非常感謝,效果非常好!編碼方面我很新,所以我只是一個錯誤 - 他們確實適用於我。希望下次這不會發生:) – user3112327 2014-10-02 14:35:51