NỘI DUNG BÀI VIẾT:
I. Canvas widget trong Tkinter
II. Các ví dụ cho Canvas widget
III. Kết Luận
I. Canvas Widget Trong Tkinter
Canvas Widget được dùng để tạo các hình ảnh từ đơn giản cho tới phức tạp
Cú pháp:
C = Canvas(root, height, width, bd, bg, ..)
Các đối số:
- root = root window.
- height = height of the canvas widget.
- width = width of the canvas widget.
- bg = background colour for canvas.
- bd = border of the canvas window.
- scrollregion (w, n, e, s)tuple defined as a region for scrolling left, top, bottom and right.
- highlightcolor colour shown in the focus highlight.
- cursor It can be defined as a cursor for the canvas which can be a circle, a do, an arrow etc.
- confine decides if canvas can be accessed outside the scroll region.
- relief type of the border which can be SUNKEN, RAISED, GROOVE and RIDGE.

Một số phương thức vẽ cơ bản:
* Tạo hình Oval:
oval = C.create_oval(x0, y0, x1, y1, options)
*Tạo hình arc/ vòng cung:
arc = C.create_arc(20, 50, 190, 240, start=0, extent=110, fill=”red”)
*Tạo hình Line/ đường thẳng
line = C.create_line(x0, y0, x1, y1, …, xn, yn, options)
Tạo hình polygon/ đa giác
oval = C.create_polygon(x0, y0, x1, y1, …xn, yn, options)
Ví dụ 1 (Tạo hình 1 hình đơn giản)

Ví dụ 2 (Radio button ở dạng button thông thường, khi đó ta loại bỏ indicator/indicatoron)
II. Các ví dụ cho Canvas Widget
Ví dụ 2 (Một bài paint đơn giản)


Đối với câu lệnh
x1,y1,x2,y2 = (event.x-3),(event.y-3), (event.x+3),(event.y+3)
Câu lệnh này liên quan đến kỹ thuật sử dụng chuột, các bạn xem thêm tại link:
https://www.w3schools.com/jsref/event_clientx.asp
Đối với câu lệnh:
w.bind( B1-Motion,paint)
Câu lệnh này liên quan đến bind và event trong Tkinter, các bạn đọc thêm tại:
https://stackoverflow.com/questions/32289175/list-of-all-tkinter-events
III. Kết Luận
Như vậy, chúng tôi đã tiếp tục giới thiệu tới các bạn các khái niệm cơ bản của Tkinter trong Python. Nếu có vấn đề nào chưa rõ, các bạn hãy liên hệ với chúng tôi để được giúp đỡ.