2011-02-16 3 views
1

에서 Tkinter 응용 프로그램을 실행하지 못하도록합니다. 우분투를 사용할 때 IDLE에 명령을 작성하여 Tk을 실시간으로 재생할 수 있습니다.mainloop은 IDLE

Windows에서 root.mainloop()을 호출하여 창을 생성해야하고 루프가 IDLE의 코드를 실행하지 못하게해야합니다.

플랫폼의 문제입니까, 아니면 내가 잘못하고 있습니까?

+0

2011 년 IDLE 및 Windows에 관한 모든 내용이 사실이 아닙니다. 필자는 mainloop()을 추가하지 않음으로써 tkinter를 대화 형으로 IDLE에서 재생합니다. '>>> tkinter를 tk로 임포트하십시오; root = tk.Tk()'는 공백의 tk 창을 생성합니다. –

답변

1

나는 완벽한 솔루션 또는 해답을 가지고 있지만, 여기에 내가 주제에 발견 뭔가하지 않습니다

이 페이지에서 : Thinking in Tkinter

참고가에서이 프로그램을 실행하면 안됩니다 게으른. IDLE은 그 자체로 Tkinter 어플리케이션이며,이 프로그램의 mainloop과 충돌하는 자체 mainloop을 가지고 있습니다. IDLE을 사용하여이 프로그램을보고 실행하려면 각 프로그램에 대해 프로그램을 실행하기 전에 프로그램의 "mainloop"문을 주석 처리해야합니다.

나는 그 기술적 인 이유에 대해서는 확신하지 못한다. 그러나 나는 IDLE에서 Tkinter 코드를 실행하지 않는다.

+0

해결책이 있습니다. 모든 지오메트리를 정의하고 메인 윈도우에서 update()를 호출하여 앱 윈도우를 미리 볼 수 있습니다. 통찰력을 가져 주셔서 감사합니다. 앞으로도 계속 그 사실을 명심하십시오. :) –

+0

"IDLE에서 Tkinter 코드를 실행하지 마십시오"는 2011 년 이전에는 사용되지 않았습니다.이 책은 2009 년에 개정되어 그 전에 작성되었습니다. 수년 동안 IDLE은 tkinter 메인 루프가 실행되지 않는 별도의 창없는 프로세스 (-n으로 시작하지 않는 한)에서 사용자 코드를 실행했습니다. –

관련 문제