web-dev-qa-db-ja.com

タートルグラフィックス-ウィンドウを閉じるタイミングを制御するにはどうすればよいですか?

いくつかのタートルグラフィックを描画する小さなpythonスクリプトがあります。スクリプトの実行が完了すると、タートル画面が自動的に閉じるため、しばらくの間グラフィックを表示できるようにするには、time.sleep(5)スクリプトの終わりに閉じを遅らせる。

これをより動的にする方法はありますか、つまりpython自分でウィンドウのクローズを制御したいということを伝えますか?スクリプトが他に何もできない場合は気にしません私のコマンドを待っていますが、read()または何かのためにコンソールに行く必要がなかった方がいいです。理想的には、スクリプトの実行が終了した後でもキャンバスは開いたままになりますが、キャンバスを保持しているウィンドウを閉じるまで(またはキャンバスをクリックするか、何でも...)スクリプトを停止するソリューションでOKです。

どうすればこれを達成できますか?

27
Tomas Aschan

タートルプログラムの最後のコマンドとしてturtle.done()またはexitonclick()を使用してください。

46
hua
_import turtle

turtle.forward(100)
turtle.left(90)
turtle.forward(100)
# etc.

turtle.getscreen()._root.mainloop()  # <-- run the Tkinter main loop
_

(編集:turtle.done()は、以下のhuaが示唆するように、見苦しくありません。)

19
PAG

タートルのモジュール自体からインポートされたmainloop()関数を使用するだけです!.

import turtle


#Draw a square
for i in range(4):
    turtle.forward(200)
    turtle.left(90)


#calling for the mainloop()
turtle.mainloop()
8
XGuru

コードの最後にinput()を追加してみてください。

1
ddop