Search on blog:

Drawing with Turtle - Wait On Click

Turtle posiada funkcję exitonclick(), która po zakończeniu rysowania czeka na kliknięcie myszką w dowolnym miejscu okna aby je zamknąć. i nie trzeba wtedy klikać specjalnie w przycisk [X] aby zamkąć okno.

Nie ma jednak funkcji, która by pozwalała czekała na kliknięcie myszką w dowolnym miejscu aby kontynuować rysowanie - taka pauza w rysowaniu (kliknij aby kontynuawać). Takiej funkcji nie posiada też Tkitner na którym jest zbudowane Turtle ale taką funkcję posiada moduł graphics.py, który też jest zbudowany na Tkinter.

To jest próba zrobienia czegoś podobnego w Turtle w dużej mierze wzorując się na kodzie z graphics.py.

import turtle
import time

# base on `getMouse()` in graphics.py

clicked = False

def _on_click(x, y):
    global clicked

    clicked = True

turtle.onscreenclick(_on_click)

def waitonclick():
    global clicked

    turtle.update()
    clicked = False

    while not clicked:
        turtle.update()
        time.sleep(.1)

    clicked = False

#------------------------------------------------------
# code wait on click before it draws next line in rectangle

turtle.update()

for _ in range(4):
    waitonclick()
    turtle.forward(100)
    turtle.left(90)

turtle.exitonclick() # instead of mainloop()+onscreenclick()

Post not ready yet:

Gallery:

Figures:

Tkinter:

Internet:

Other:


Tabel of Content - all links on separated page:

If you like it
Buy a Coffee