使用 tkinter 在两次鼠标点击之间画一条线

tkinterpythongui-programming更新于 2025/12/18 5:00:17

考虑创建一个 GUI 应用程序的情况,当我们用鼠标按钮点击窗口时,它会存储坐标并在两个给定点之间创建一条线。 Tkinter 提供事件,允许用户将按键或按钮与函数绑定。

要在两点之间画一条线,我们可以遵循以下一般步骤,

  • 创建一个画布小部件并将其打包以显示在窗口中。

  • 定义一个函数 draw_line(),当用户执行点击事件时,该函数作为事件。

  • 创建一个全局变量,用于计算画布中的点击次数。

  • 如果计数变为 2,则在第一个和第二个坐标之间画一条线。

  • 将鼠标按钮与回调函数绑定,以完全控制该函数。

示例

# 导入所需的库
from tkinter import *
from tkinter import ttk

# 创建 tkinter 框架或窗口的实例
win=Tk()

# 设置窗口的大小
win.geometry("700x350")

# 定义一个函数来绘制两点之间的线
def draw_line(event):
   global click_num
   global x1,y1
   if click_num==0:
      x1=event.x
      y1=event.y
      click_num=1
   else:
      x2=event.x
      y2=event.y
   # 在给定坐标处绘制线条
   canvas.create_line(x1,y1,x2,y2, fill="green", width=10)

# 创建画布小部件
canvas=Canvas(win, width=700, height=350, background="white")
canvas.grid(row=0, column=0)
canvas.bind('<Button-1>', draw_line)
click_num=0

win.mainloop()

输出

运行上述代码以显示窗口。如果我们在画布小部件的任意位置单击两次,它将在画布上绘制一条线。


相关文章


有用资源