Voici donc le code d'un programme où l'utilisateur peut cliquer sur un point et il dessine un point, puis les clics suivants dessinent plus de lignes attachées à la ligne précédente. Comment éditerais-je ce programme pour laisser l'utilisateur appuyer sur le bouton et avoir comme (xp1, yp1) et ensuite glisser où et relâcher à (xp2, yp2) puis tracer une ligne entre (xp1, yp1) et (xp2 , yp2). Enfin, il permettrait à l'utilisateur de créer de nombreuses lignes différentes, puis finalement être en mesure d'effacer l'écran de toile en appuyant sur "c". Comme je sais que la dernière chose devrait lier une fonction à "c" mais je ne sais pas ce que c'est.utilisateur de ligne non continu dessiner 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()
Merci beaucoup pour votre temps! J'apprécie vraiment cela!
Oh désolé j'ai mal formulé ma question, et si je voulais cliquer deux points et faire une ligne entre eux? Non cliquez sur glisser et relâcher ... Le clair a fonctionné fantastique, merci –