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
[email protected]
Design & Development by