사용자가 점을 클릭하고 점을 그려 후 다음 선이 이전 선에 추가 된 선을 더 많이 그려주는 프로그램의 코드는 다음과 같습니다. 어떻게하면이 프로그램을 편집하여 사용자가 버튼을 누르고 (xp1, yp1)와 같은 위치로 드래그 한 다음 (xp2, yp2)를 놓은 다음 끌어서 (xp1, yp1)과 (xp2) 사이에 선을 그립니다. , yp2). 마지막으로 사용자가 여러 가지 다른 선을 만들고 "c"를 눌러 캔버스 화면을 지울 수있게합니다. 내가 아는 것처럼 마지막 기능은 "c"에 일부 기능을 바인딩해야하지만 그 기능이 무엇인지 알지 못합니다.비 연속 선 사용자 tkinter python
from Tkinter import Canvas, Tk, mainloop
import Tkinter as tk
# Image dimensions
w,h = 640,480
# Create canvas
root = Tk()
canvas = Canvas(root, width = w, height = h, bg = 'white')
canvas.pack()
# Create poly line
class PolyLine(object):
def __init__(x, canvas):
x.canvas = canvas
x.start_coords = None # first click
x.end_coords = None # subsequent clicks
def __call__(x, event):
coords = event.x, event.y # coordinates of the click
if not x.start_coords:
x.start_coords = coords
return
x.end_coords = coords # last click
x.canvas.create_line(x.start_coords[0], # first dot x
x.start_coords[1], # first dot y
x.end_coords[0], # next location x
x.end_coords[1]) # next location y
x.start_coords = x.end_coords
canvas.bind("<Button-1>", PolyLine(canvas)) # left click is used
mainloop()
감사합니다. 정말 감사!
오, 죄송합니다. 내 질문에 잘못 대답했습니다. 두 점을 클릭하고 그 사이에 선을 그려 넣기를 원한다면 어떻게해야합니까? 클릭 끌기 및 놓기 누르기 ... 명확한 것은 환상적 일했다, 고맙다 –