ここでは、ユーザがポイントをクリックしてポイントを描き、その後のクリックが前のラインに追加されたより多くのラインを描画するプログラムのコードを示します。 (xp1、yp1)とxp2(xp1、yp1)の間に線を描くように、このプログラムを編集すると、 、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()
ありがとうございました!ほんとうにありがとう!
ああ申し訳ありませんが私の質問に間違った言葉を2点をクリックして、それらの間に線を描きたいのですが?クリックしてドラッグアンドリリースしない...クリアは素晴らしい仕事、ありがとう –