Черепаха от руки

Я работаю над простой программой рисования, которая объединяет модули Tkinter и Turtle.

Я хотел бы добавить вариант, который пользователь может нарисовать что угодно, просто используя мышь, похожую на виджет пера на Paint. Я пробовал много вещей, я не мог понять, как я могу это сделать. Как я могу заставить черепаху рисовать что угодно (например, виджет пера на Paint) на холсте с помощью мыши

from tkinter import * import turtle sc=Tk() sc.geometry("1000x1000+100+100") fr4=Frame(sc,height=500,width=600,bd=4,bg="light green",takefocus="",relief=SUNKEN) fr4.grid(row=2,column=2,sticky=(N,E,W,S)) #Canvas canvas = Canvas(fr4,width=750, height=750) canvas.pack() #Turtle turtle1=turtle.RawTurtle(canvas) turtle1.color("blue") turtle1.shape("turtle") points=[] spline=0 tag1="theline" def point(event): canvas.create_oval(event.x, event.y, event.x+1, event.y+1, fill="red") points.append(event.x) points.append(event.y) return points def canxy(event): print (event.x, event.y) def graph(event): global theline canvas.create_line(points, tags="theline") def toggle(event): global spline if spline == 0: canvas.itemconfigure(tag1, smooth=1) spline = 1 elif spline == 1: canvas.itemconfigure(tag1, smooth=0) spline = 0 return spline canvas.bind("<Button-1>", point) canvas.bind("<Button-3>", graph) canvas.bind("<Button-2>", toggle) sc.mainloop() 

    One Solution collect form web for “Черепаха от руки”

    Следующий код позволит вам рисовать с черепахой. Вам нужно будет интегрироваться с остальной частью вашего кода:

     import tkinter import turtle sc = tkinter.Tk() sc.geometry("1000x1000+100+100") fr4 = tkinter.Frame(sc, height=500, width=600, bd=4, bg="light green", takefocus="", relief=tkinter.SUNKEN) fr4.grid(row=2, column=2, sticky=(tkinter.N, tkinter.E, tkinter.W, tkinter.S)) # Canvas canvas = tkinter.Canvas(fr4, width=750, height=750) canvas.pack() # Turtle turtle1 = turtle.RawTurtle(canvas) turtle1.color("blue") turtle1.shape("turtle") def drag_handler(x, y): turtle1.ondrag(None) # disable event inside event handler turtle1.goto(x, y) turtle1.ondrag(drag_handler) # reenable event on event handler exit turtle1.ondrag(drag_handler) sc.mainloop() 
     
    Interesting Posts for Van-Lav

    Вопрос SelfReferenceProperty

    Как я могу совместить дату и время с информацией о часовом поясе в Python?

    Как использовать групповое преобразование через несколько столбцов

    python pandas: применить функцию с аргументами к ряду. Обновить

    Существует ли библиотека для предотвращения повторных представлений формы для django?

    Механизм Python с NTLM получает AttributeError: экземпляр HTTPResponse не имеет атрибута '__iter__'

    Случайный лес не работает в opencv python (cv2)

    Как вы получаете SQLAlchemy для переопределения MySQL "при обновлении CURRENT_TIMESTAMP"

    os.getcwd () vs os.path.abspath (os.path.dirname (__ file__))

    Могу ли я программно запустить сервер приложений WSGI, не блокируя основной поток выполнения?

    Python 3.2: urllib, SSL и TOR через сокет: ошибка с функцией fileno

    Корреляция событий и фильтрация – как, с чего начать?

    Интеграция в массив numpy только с положительной областью

    начало строки регулярного выражения в наборе символов

    Как я могу перенаправить вывод вывода функции в python

    Python - лучший язык программирования в мире.