下面的示例可以在画布上画一条线,我想添加一个功能来调整线条,就像编辑应用程序一样。
如何添加这样的功能?还是我应该使用任何其他更好的用户界面?
#!/usr/bin/env python3
import tkinter as tk
root = tk.Tk()
canvas = tk.Canvas(root, bg="white", width=600, height=400)
canvas.pack()
coords = {"x":0,"y":0,"x2":0,"y2":0}
# keep a reference to all lines by keeping them in a list
lines = []
def click(e):
# define start point for line
coords["x"] = e.x
coords["y"] = e.y
# create a line on this point and store it in the list
lines.append(canvas.create_line(coords["x"],coords["y"],coords["x"],coords["y"]))
def drag(e):
# update the coordinates from the event
coords["x2"] = e.x
coords["y2"] = e.y
# Change the coordinates of the last created line to the new coordinates
canvas.coords(lines[-1], coords["x"],coords["y"],coords["x2"],coords["y2"])
canvas.bind("<ButtonPress-1>", click)
canvas.bind("<B1-Motion>", drag)
root.mainloop()