Вот кое-что, демонстрирующее, как скрыть и снова отобразить графическое окно черепахи, не требуя ввода данных пользователем.Он использует метод tkinter after()
для планирования будущего вызова функции, которую я назвал do_turtle_stuff()
(если вам интересно).
Это достигается путем "достижения впокрывает "и получает базовое tkinter
корневое окно и манипулирует им.Чтобы позволить пользователю выполнить несколько «команд», он перепланирует себя, чтобы запустить усиление, вызвав саму after()
(если пользователь не набрал «exit»).Вам может не понадобиться это для того, что вы делаете.
import turtle
def do_turtle_stuff(root):
user_input = input('Enter command ("foo", "bar", or "exit"): ')
if user_input == "exit":
root.withdraw() # Hide the turtle screen.
root.quit() # Quit the mainloop.
return
elif user_input == "foo":
turtle.forward(50)
turtle.left(90)
turtle.forward(100)
elif user_input == "bar":
turtle.forward(100)
turtle.left(90)
turtle.forward(100)
else:
print('Unknown command:', user_input)
root.after(0, lambda: do_turtle_stuff(root))
root = turtle.getscreen()._root
root.after(0, lambda: do_turtle_stuff(root))
root.mainloop()
print('back in main')
input('Press Enter key to do more turtle stuff ')
root.state('normal') # Restore the turtle screen.
root.after(0, lambda: do_turtle_stuff(root))
root.mainloop()
print('done')