如何使用tkinter在鼠标坐标下绘制线条?
要在鼠标坐标下绘制线条,我们需要创建一个函数来捕获每个鼠标单击的坐标,然后在两个连续点之间绘制一条线。让我们看一个例子,看看如何完成。
步骤-
- 导入tkinter库并创建一个tkinter帧的实例。
-
使用 geometry 方法设置框架的大小。
-
创建一个用户定义的方法 “draw_line” 来捕获每个鼠标单击的x和y坐标。然后,使用Canvas的 create_line() 方法在两个连续的点之间绘制一条线。
-
将鼠标的左键与 draw_line 方法绑定。
-
最后,运行应用程序窗口的 mainloop 方法。
例子
# 导入库
import tkinter as tk
# 创建一个tkinter的实例
win = tk.Tk()
# 窗口大小
win.geometry("700x300")
# 方法:在每两个连续的点之间绘制一条线
def draw_line(e):
x, y = e.x, e.y
if canvas.old_coords:
x1, y1 = canvas.old_coords
canvas.create_line(x, y, x1, y1, width=5)
canvas.old_coords = x, y
canvas = tk.Canvas(win, width=700, height=300)
canvas.pack()
canvas.old_coords = None
# 绑定鼠标的左键。
win.bind('<ButtonPress-1>', draw_line)
win.mainloop()
输出
它将跟踪鼠标的左键单击,并在每两个连续点之间绘制一条线。