В материале представлены команды, отвечающие за различныенастройки модуля turtle
Python. В частности, это режим пера, режим передачи RGB цвета,
turtle.mode()
устанавливает режим пера,turtle.colormode()
возвращает или устанавливает цветовой режим,turtle.getshapes()
возвращает доступные формы пера,turtle.register_shape()
регистрирует новые формы пера,turtle.addshape()
регистрирует новые формы пера,turtle.turtles()
список перьев на холсте,turtle.window_height()
текущую высоту окна,turtle.window_width()
текущую ширина окна,turtle.bye()
закрывает окно модуля turtle
,turtle.exitonclick()
закрывает окно модуля turtle
по клику мышкой,turtle.setup()
настраивает размер и положение окна модуля turtle
,turtle.title()
текст заголовка окна модуля turtle
,turtle.getcanvas()
возвращает холст Tkinter
.turtle.mode(mode=None)
:Метод turtle.mode()
устанавливает режим mode
пера в одно из строковых значений 'standard'
, 'logo'
или 'world'
и выполняет сброс. Если режим mode
не указан, то возвращает текущий режим.
'standard'
совместим со старыми версиями модуля turtle
. 'logo'
совместим с большинством изображений логотипа черепахи. 'world'
используются определенные пользователем координаты. Внимание: в этом режиме углы искажаются, если отношение x/y
не равно 1.Отличие режима 'standard'
от 'logo'
.
Режим | Начальный курс черепахи | Положительные углы |
'standard“ | направо (восток) | против часовой стрелки |
'logo“ | вверх (север) | по часовой стрелке |
Пример:
>>> import turtle >>> scr = turtle.Screen() # сбрасывает направление пера >>> scr.mode("logo") >>> scr.mode() # 'logo'
turtle.colormode(cmode=None)
:Метод turtle.colormode()
возвращает текущий цветовой режим или устанавливает его на 1.0 или 255.
Впоследствии значения r
, g
, b
цветовых троек должны быть в диапазоне 0..cmode
.
>>> import turtle >>> scr = turtle.Screen() >>> pen = turtle.Turtle() >>> scr.colormode(1) >>> pen.pencolor(240, 160, 80) # Traceback (most recent call last): # ... # TurtleGraphicsError: bad color sequence: (240, 160, 80) >>> scr.colormode() # 1.0 >>> scr.colormode(255) >>> scr.colormode() # 255 >>> pen.pencolor(240,160,80)
turtle.getshapes()
:Метод turtle.getshapes()
возвращает список имен всех доступных на данный момент форм пера.
>>> import turtle >>> scr = turtle.Screen() >>> scr.getshapes() # ['arrow', 'blank', 'circle', ..., 'turtle']
turtle.register_shape(name, shape=None)
,turtle.addshape(name, shape=None)
:Метод turtle.addshape()
и turtle.register_shape()
, добавляет фигуру пера в список фигур TurtleScreen
.
Его можно вызвать тремя разными способами:
name
является именем gif-файла, а аргумент shape
отсутствует:
Установит соответствующую форму изображения.
>>> import turtle >>> scr = turtle.Screen() >>> scr.register_shape("turtle.gif")
Примечание. Фигуры изображений не вращаются при повороте черепахи, поэтому они не отображают курс черепахи!
name
- произвольная строка, а shape
- набор пар координат:
Установит соответствующую форму многоугольника.
>>> import turtle >>> scr = turtle.Screen() >>> scr.register_shape("triangle", ((5,-3), (0,5), (-5,-3)))
name
- произвольная строка, а shape
- составной объект Shape
:
Установит соответствующую составную фигуру.
Добавит фигуру пера в список фигур TurtleScreen
. Только зарегистрированные таким образом формы можно использовать с помощью команды turtle.shape(shapename)
.
turtle.turtles()
:Метод turtle.turtles()
возвращает список черепах на холсте экрана.
>>> import turtle >>> scr = turtle.Screen() >>> for turtle in scr.turtles(): ... turtle.color("red")
turtle.window_height()
:Метод turtle.window_height()
возвращает текущую высоту окна модуля turtle
.
>>> import turtle >>> scr = turtle.Screen() >>> scr.window_height() # 810
turtle.window_width()
:Метод turtle.window_width()
возвращает текущую ширину окна модуля turtle
.
>>> import turtle >>> scr = turtle.Screen() >>> scr.window_width() # 960
turtle.bye()
:Метод turtle.bye()
закрывает активное окно модуля turtle
.
turtle.exitonclick()
:Метод turtle.exitonclick()
привязывает метод turtle.bye()
к щелчку мыши по холсту.
Другими словами, при выполнении скрипта turtle
, ждет клика мышки по холсту, что бы его закрыть. Обычно, при окончании выполнения скрипта со сценарием turtle
холст сразу закрывается.
Поместите код, представленный ниже, в файл test.py
и попробуйте запустить сценарий. Затем уберите комментарий у 2-х последних строк turtle.exitonclick()
и снова запустите сценарий.
# поместите код в test.py import turtle def square(pen_obj, color, side_size): pen_obj.fillcolor(color) pen_obj.begin_fill() for _ in range(4): pen_obj.fd(side_size) pen_obj.right(90) pen_obj.end_fill() pen = turtle.Turtle() square(pen, 'green', 100) # закрывает холст при клике мышкой # scr = turtle.Screen() # scr.exitonclick()
turtle.setup(width=_CFG['width'], height=_CFG['height'], startx=_CFG['leftright'], starty=_CFG['topbottom'])
:Метод turtle.setup()
устанавливает размер и положение главного окна модуля turtle
. Значения аргументов по умолчанию хранятся в словаре конфигурации и могут быть изменены с помощью файла turtle.cfg
.
width
: если целое число, то размер в пикселях, если число с плавающей запятой, то часть экрана. По умолчанию 50% экрана.height
: если целое число, то высота в пикселях, если число с плавающей запятой, часть экрана. По умолчанию 75% экрана.startx
: если положительное число, то начальная позиция в пикселях от левого края экрана, если отрицательное - от правого края, если None
, то окно будет центрировано по горизонтали.starty
: если положительное число, то начальная позиция в пикселях от верхнего края экрана, если отрицательное - от нижнего края, если None
, то центрировано окно по вертикали.>>> import turtle >>> scr = turtle.Screen() # устанавливает размер окна 200x200 пикселей # в верхнем левом углу экрана >>> scr.setup (width=200, height=200, startx=0, starty=0) # устанавливает окно на 75% экрана на 50% экрана и центрирует >>> scr.setup(width=.75, height=0.5, startx=None, starty=None)
turtle.title(titlestring)
:Метод turtle.title()
устанавливает заголовок главного окна модуля turtle
в строку, переданную как аргумент titlestring
.
>>> import turtle >>> scr = turtle.Screen() >>> scr.title("Welcome to the turtle zoo!")
turtle.getcanvas()
:Метод turtle.getcanvas()
возвращает холст этого TurtleScreen
. Полезно для инсайдеров, которые знают, что делать с холстом Tkinter
.
>>> cv = turtle.getcanvas() >>> cv # <turtle.ScrolledCanvas object ...>