Как удалить стреловидный курсор из изображения черепахи - PullRequest
0 голосов
/ 08 апреля 2019

Я создаю многоугольник, например, используя Turtle, и сохраняю его в файл eps, но на изображении остается курсор в виде стрелки. Как я могу избавиться от любых / всех курсоров?

Я пробовал hideturtle (), думая, что, возможно, «turtle» был общим для ЛЮБОГО курсора.

polygon = turtle.Turtle()
num_sides = 6
side_length = 70
angle = 360.0 / num_sides 
for i in range(num_sides):
    polygon.forward(side_length)
    polygon.right(angle)
ts = turtle.getscreen()
ts.getcanvas().postscript(file="hex_example.eps")

1 Ответ

1 голос
/ 09 апреля 2019

Это тонкий, но здесь идет.Вы можете решить эту проблему, заменив:

ts = turtle.getscreen()

на:

ts = polygon.getscreen()

или:

ts = turtle.Screen()

и вернув обратно:

polygon.hideturtle()

Проблема в том, что getscreen() - это метод turtle , поэтому при вызове его с именем модуля turtle.getscreen() он применяется к default turtle.Он не только отображает экран, но и создает черепашку по умолчанию.Черепаха, которую вы видите на своем PostScript-изображении, - это не polygon, а неименованная черепаха по умолчанию (ваша polygon возвращает в исходное положение, по умолчанию черепаха начинается в исходном положении).Переключаясь на один из альтернативных вызовов выше, чтобы получить экран, вы не создаете экземпляр черепашки по умолчанию.Полное решение:

from turtle import Screen, Turtle

num_sides = 6
side_length = 70
angle = 360.0 / num_sides 

screen = Screen()

polygon = Turtle()

for _ in range(num_sides):
    polygon.forward(side_length)
    polygon.right(angle)

polygon.hideturtle()

screen.getcanvas().postscript(file="hex_example.eps")

Это типичный сценарий, для которого я призываю людей импортировать черепаху, используя:

from turtle import Screen, Turtle

, поскольку он дает только объектно-ориентированный API для черепахи, а не другие типы импорта, такие как import turtle или from turtle import *, которые оставляют и объектно-ориентированный API и функциональность API активен.Активность обоих просто запутывает вещи.

...