如何将事件绑定到 Tkinter Canvas 项目?

tkinterpythongui-programming

Tkinter 事件可以与小部件绑定,以对小部件执行一组操作。更具体地说,我们还可以使用 bind(<Button>,callback)  方法将事件处理程序绑定到 Canvas 项目。将事件与画布项绑定可使画布项动态化,并可通过事件处理程序进行自定义。

示例

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

#创建 Tkinter 框架的实例
win = Tk()

#设置窗口的几何形状
win.geometry("700x350")

#创建画布
canvas=Canvas(win,width=700,height=350,bg='white')
def draw_shapes(e):
   canvas.delete(ALL)

canvas.create_oval(random.randint(5,300),random.randint(1,300),25,25,fill='O rangeRed2')
canvas.pack()

#将空格键绑定到函数
win.bind("<space>", draw_shapes)
win.mainloop()

输出

运行上述代码将显示一个包含 Canvas 的窗口。

当我们按下 <Space>键,它将在画布窗口中生成随机形状。


相关文章