如何在 Tkinter Python 中的点击事件上在画布上绘制一个点?

tkinterpythongui-programming更新于 2025/9/12 22:04:17

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

要在点击事件上绘制一个点,我们可以遵循以下一般步骤 −

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

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

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

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

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

示例

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

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

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

# 定义一个函数来绘制两点之间的线
def draw_line(event):
   x1=event.x
   y1=event.y
   x2=event.x
   y2=event.y
   # 在给定的坐标中绘制一个椭圆
   canvas.create_oval(x1,y1,x2,y2,fill="black", width=20)

# 创建画布小部件
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()

输出

运行上述代码以显示窗口。当你点击画布内的任意位置时,它会在该点绘制一个点。


相关文章


有用资源