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
   220   221   222   223   224   225   226   227   228   229   230