如何使用 tkinter 绘制跟随鼠标坐标的线?

tkinterpythongui-programming

要绘制跟随鼠标坐标的线,我们需要创建一个函数来捕获每次鼠标单击的坐标,然后在两个连续点之间绘制一条线。让我们举个例子,看看如何做到这一点。

步骤 −

  • 导入 tkinter 库并创建 tkinter 框架的实例。

  • 使用 geometry 方法设置框架的大小。

  • 创建一个用户定义的方法 "draw_line" 来捕获每次鼠标单击的 x 和 y 坐标。然后,使用 Canvas 的 create_line() 方法在两个连续点之间画一条线。

  • 将鼠标左键单击与 draw_line 方法绑定。

  • 最后,运行应用程序窗口的 ma​​inloop

示例


# 导入库
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()

输出

它将跟踪鼠标左键单击并在每两个连续点之间画一条线。


相关文章