You are on page 1of 3

Go back

Drawing With Mouse


Python Turtle Graphics Tutorial #4 - Drawing With Mouse

Subscribe to Tech with Tim YouTube

Mouse Events Continued


In the last tutorial I explained how to check to see if the mouse was being clicked. In this tutorial I will show how to
track the position of the mouse and use it to draw lines and shapes similarly to a paint program.
Up until this point we have only been using a turtle object from the turtle module. However, for this tutorial we will have
to use another object called screen.

import turtle
from turtle import Turtle
from turtle import Screen

screen = Screen()
t = Turtle("turtle")

We now need to create two functions that will be used to clear the screen and move the turtle.

def dragging(x, y): # These parameters will be the mouse position


t.ondrag(None)
t.setheading(t.towards(x, y))
t.goto(x, y)
t.ondrag(dragging)

def clickRight():
t.clear()

Now we will setup the function main which will run our program.

def main(): # This will run the program


turtle.listen()

t.ondrag(dragging) # When we drag the turtle object call dragging


turtle.onscreenclick(clickRight, 3)

screen.mainloop() # This will continue running main()

Bringing it all together we get the following.

import turtle
from turtle import Screen, Turtle

screen = Screen()
t = Turtle("turtle")
t.speed(-1)

def dragging(x, y): # These parameters will be the mouse position


t.ondrag(None)
t.setheading(t.towards(x, y))
t.goto(x, y)
t.ondrag(dragging)

def clickRight():
t.clear()

def main(): # This will run the program


turtle.listen()

t.ondrag(dragging) # When we drag the turtle object call dragging


turtle.onscreenclick(clickRight, 3)

screen.mainloop() # This will continue running main()

main()
If you benefited from these tutorial please consider supporting me and the website by heading to the donation page. I
put a lot of work into these tutorials and would appreciate any support you can provide.

Complete
Go back

EXPLORE SOCIAL
Tutorials Discord
Courses YouTube
Community GitHub
Gear Twitter
Shop Instagram
Donate
LEGAL ALGOEXPERT
Privacy Policy BlockchainExpert
Terms of Service ProgrammingExpert

CONTACT
tim@techwithtim.net

Design & Development by

You might also like