2010-02-21 1 views

답변

24

"quit()는 TCL 인터프리터를 중지합니다 .Tkinter-app도 중지되므로 대부분의 경우 원하는대로 수행됩니다. 예를 들어 앱을 유휴 상태에서 호출하면 문제가 될 수 있습니다. Tkinker-app이므로 앱에서 quit()을 호출하고 TCL 인터프리터가 종료되면 유휴도 종료되거나 혼란 스럽습니다.

destroy()는 mainloop을 종료하고 모든 위젯을 삭제합니다. 다른 Tkinter 앱에서 앱을 호출하거나 여러 개의 메인 루프가있는 경우 더 안전하게 작업 할 수 있습니다. "

는 종료 돌이 http://www.daniweb.com/forums/thread66698.html

+2

이 답변은 정확하지 않습니다. 'root.quit()'는 "TCL 인터프리터를 멈추지 않습니다". 'mainloop' 만 빠져 나옵니다. 모든 위젯과 마찬가지로 인터프리터는 그대로입니다. 'root.destroy() '를 호출하면 모든 위젯 _and_ exit'mainloop '이 파괴됩니다. –

10

root.quit() 원인에서 가져옵니다. 모든 위젯과 마찬가지로 인터프리터는 그대로입니다. 이 함수를 호출하면 root.mainloop() 호출 후 실행되는 코드를 가질 수 있으며이 코드는 위젯과 상호 작용할 수 있습니다 (예 : 입력 위젯에서 값 가져 오기).

root.destroy()를 호출하면 모든 위젯이 삭제되고 mainloop이 종료됩니다. root.mainloop()을 호출 한 후 모든 코드가 실행되지만 위젯이 더 이상 존재하지 않으므로 위젯에 액세스하려는 시도 (예 : 항목 위젯에서 값 가져 오기)가 실패합니다.

관련 문제