Xét trường hợp tạo ứng dụng GUI sao cho khi click vào cửa sổ bằng nút chuột, nó lưu tọa độ và vẽ một chấm. Tkinter cung cấp các sự kiện cho phép người dùng gán phím hoặc nút với các hàm.
Để vẽ chấm khi sự kiện click, chúng ta có thể làm theo các bước chung sau:
Tạo widget canvas và pack nó để hiển thị trong cửa sổ.
Định nghĩa hàm draw_dot() hoạt động như sự kiện khi người dùng thực hiện click.
Tạo biến toàn cục đếm số lần click trong canvas.
Nếu đếm thành hai, vẽ đường line giữa tọa độ thứ nhất và thứ hai.
Gán nút chuột với hàm callback để có toàn quyền kiểm soát hàm.
Ví dụ
# Import các thư viện cần thiết
from tkinter import *
from tkinter import ttk
# Tạo instance của frame hoặc window tkinter
win = Tk()
# Thiết lập kích thước cửa sổ
win.geometry("700x350")
# Định nghĩa hàm vẽ đường line giữa hai điểm
def draw_line(event):
x1 = event.x
y1 = event.y
x2 = event.x
y2 = event.y
# Vẽ oval ở tọa độ đã cho
canvas.create_oval(x1, y1, x2, y2, fill="black", width=20)
# Tạo widget canvas
canvas = Canvas(win, width=700, height=350, background="white")
canvas.grid(row=0, column=0)
canvas.bind('', draw_line)
click_num = 0
win.mainloop()
Kết quả
Chạy code trên để hiển thị một cửa sổ. Khi bạn click bất kỳ đâu bên trong canvas, nó sẽ vẽ một chấm tại điểm đó.
