Page 225 - Em Học Python
P. 225
>>> from tkinter import *
>>> tk = Tk()
>>> canvas = Canvas(tk, width=400, height=400)
>>> canvas.pack()
>>> canvas.create_polygon(10, 10, 10, 60, 50, 35)
1
>>> canvas.move(1, 5, 0)
Vấn đề chính với ví dụ trên là không phải lúc nào create_polygon cũng trả về 1. Giả
sử nếu em tạo thêm các hình khác nó sẽ trả về 2, 3, thậm chí 100 (tuỳ vào số lượng hình
được vẽ ra). Nếu sửa lại code một chút để lưu lại giá trị này vào một biến (thay vì sử dụng
số 1), code sẽ chạy mà không cần quan tâm số hiệu trả về là số nào:
>>> mytriangle = canvas.create_polygon(10, 10, 10, 60, 50, 35)
>>> canvas.move(mytriangle, 5, 0)
Hàm move cho phép ta di chuyển các đối tượng quanh màn hình bằng số hiệu của
chúng. Nhưng cũng có những hàm khác của canvas cho phép ta thực hiện những thay đổi
gì đó trên các hình vẽ. Ví dụ, hàm itemconfig của canvas có thể được dùng để thay đổi các
tham số của hình. như tô màu gì và viền màu gì.
Giả sử ta tạo ra một tam giác màu đỏ:
>>> from tkinter import *
>>> tk = Tk()
>>> canvas = Canvas(tk, width=400, height=400)
>>> canvas.pack()
>>> mytriangle = canvas.create_polygon(10, 10, 10, 60, 50, 35, fill='red')
Ta sau đó có thể sửa lại màu của tam giác bằng cách dùng itemconfig và truyền số
hiệu của nó vào tham số đầu tiên. Đoạn code sau có thể được diễn đạt là, “Đổi màu của đối
tượng có số hiệu trong biến mytriangle sang xanh dương.”
>>> canvas.itemconfig(mytriangle, fill='blue')
Dùng tkinter để có đồ hoạ đẹp hơn 199