Các sự kiện Tkinter có thể gán với widget để thực hiện tập hợp các thao tác trên widget. Cụ thể hơn, ta cũng có thể gán trình xử lý sự kiện cho các mục Canvas bằng phương thức bind(<Button>, callback). Việc gán sự kiện với mục canvas khiến mục canvas trở nên động, có thể tùy chỉnh bởi các trình xử lý sự kiện.
Ví dụ
# Import thư viện cần thiết
from tkinter import *
import random
# Tạo instance của Tkinter frame
win = Tk()
# Thiết lập geometry của cửa sổ
win.geometry("700x350")
# Tạo canvas
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='OrangeRed2')
canvas.pack()
# Gán phím Space cho hàm
win.bind("", draw_shapes)
win.mainloop()
Kết quả
Chạy code trên sẽ hiển thị cửa sổ chứa Canvas.
Khi nhấn phím Space, nó sẽ tạo các hình ngẫu nhiên trong cửa sổ canvas.