因此,這裏是一個程序的代碼,用戶可以點擊一個點,然後繪製一個點,然後再點擊繪製更多的線,所有線都附加到前一行。我將如何編輯這個程序,讓用戶按下按鈕,並有像(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()
非常感謝您的時間!對此,我真的非常感激!
對不起,我錯誤地提出了我的問題,如果我想點擊兩點並在它們之間畫一條線,該怎麼辦?不要點擊拖動並釋放...清晰的工作太棒了,謝謝 –