現在、私は折り紙アーティストがこのプログラムを使用して自分のコンピュータ上に折り目パターンを作成できるようにするプログラムに取り組んでいます。これまで私はキャンバス上にグリッドを描き、フリーフォームの線を描画するプログラムを用意していましたが、ユーザーには直線を描画する必要がありますが、このコードをどのように適応させるかはわかりません直線的に線を引いて、自由に揺れません。ここに私のコードは、これまでです:マウスを使ってPython上のGridでtkinterキャンバス上に直線を描く
from tkinter import *
Mouse = "up"
xold, yold = None, None
def DrawGrid(drawing_area, line_distance):
for x in range(line_distance,600,line_distance):
drawing_area.create_line(x, 0, x, 600, fill="#d3d3d3")
for y in range(line_distance,600,line_distance):
drawing_area.create_line(0, y, 600, y, fill="#d3d3d3")
def main():
root = Tk()
drawing_area = Canvas(root, width=600, height=600, bg='white')
drawing_area.pack()
DrawGrid(drawing_area, 10)
drawing_area.bind("<Motion>", motion)
drawing_area.bind("<ButtonPress-1>", Mousedown)
drawing_area.bind("<ButtonRelease-1>", Mouseup)
root.mainloop()
def Mousedown(event):
global Mouse
Mouse = "down"
def Mouseup(event):
global Mouse, xold, yold
Mouse = "up"
xold = None
yold = None
def motion(event):
if Mouse == "down":
global xold, yold
if xold is not None and yold is not None:
event.widget.create_line(xold,yold,event.x,event.y,smooth=TRUE)
xold = event.x
yold = event.y
main()
は、 Mistry27
私のプログラムでは、ユーザーがクリックを解除した後に線を引く必要があります。前の行の最後から行を続けるオプションはありませんが、できるはずですあなたの例を使ってこれを理解する。 –