2014-09-29 11 views
1

이 오류가 발견되는 곳이다 :이 작동하지 않는 이유'이미지'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) 

이미 처음 호출 된 후 나는 위의 정의를 호출 할 때 (예를 들어 내 프로그램을 로그 아웃 할 때) 나는 또한 비슷한 오류가 그래서 나는 재조정했다 창을 다시 호출하는 대신 간단히 deiconifies, 나는 오류가 다시 발생하지 않습니다. 그러나 나는 코드의 이전 섹션에서 오류가 발생하는 이유에 대해 혼란 스럽다. 왜냐하면 버튼이 처음 호출되는지 아닌지를 단순히 표시하지 않기 때문이다. 죄송합니다. 다소 모호한 경우 자세히 설명하지 않았는지 물어보십시오. 미리 감사드립니다.

P. 비슷한 문제가있는 다른 스레드를 살펴 보았지만 나에게도 해당되지 않습니다.

+0

전체 오류/추적을 표시하십시오. – Evert

답변

4

그래, login 함수가 작동한다고하면 다시 작동하지 않습니다. 여기에 문제가 tk.Toplevel() 대신 tk.Tk()의를 사용하여 해결할 수 있습니다 참조 : why python photoimages don't exist?tkinter.TclError: image "pyimage3" doesn't exist

이 스레드는 Tk()가 동시에 실행되는 두 개의 인스턴스를 가질 수 없습니다 방법을 언급 대신 Toplevel()을 사용해야합니다.

왜이 스레드가 당신에게 적용되지 않았습니까 (나는 그들이 생각한대로 ...)? 그러나 당신이 당신에게 적용하지 않는다는 것을 진술 한 경우, 그 이유를 설명하십시오. 귀하의 질문을 명확하게하는 데 도움이됩니다. 또한 질문이 특정 오류에 관한 것이면 전체 추적을 추가하십시오.

희망이 조금 도움이됩니다.

+1

고마워, 정말 잘 작동! 나는 코딩에 새로운 것이므로 내 부분에 오류가있다 - 그들은 나에게 적용되었다. 바라기를 이것은 다음 번에 일어나지 않을 것입니다. :) – user3112327

관련 문제