Page 195 - Em Học Python
P. 195

​
                                           ​
                         ​
                   ​
                    ​
               >>> from tkinter import *
               >>> tk = Tk()
                   ​
               >>> btn = Button(tk, text="click me")
                   ​
                                               ​
                                                           ​
               >>> btn.pack()
                   ​
                       Dòng thứ nhất là để mang toàn bộ module  tkinter
                                                         ​
               vào trong chương trình. Ta sử dụng  from module-name
               import * là để có thể sử dụng tất cả mọi thứ trong module
                         ​
                       ​
               mà không cần phải gõ tên module. Nếu không, còn nhớ khi

               import turtle ở các ví dụ trước không, ta sẽ phải gõ tên của module vào nếu muốn gọi
                       ​
                               ​
               hàm bên trong nó:

                       ​
               import turtle
               t = turtle.Pen()

                       Nếu viết  import *, ta sẽ không cần viết  turtle.Pen như vẫn hay làm trước đây ở
                                       ​
                                                                           ​
                                         ​
               các Chương 4 và 11 nữa. Với module  turtle thì việc này cũng không có ý nghĩa lắm, nhưng
                                                            ​
               nếu phải dùng một module mà có siêu nhiều lớp với hàm thì có đấy, đỡ phải gõ nhiều.

               from turtle import *
                              ​
                    ​
                                     ​
               t = Pen()
                       Quay về ví dụ cái nút bấm, ở dòng tiếp theo ta tạo ra một đối tượng từ lớp  Tk với  tk =
                                                                                                    ​
               Tk(), giống hệt cách tạo ra mấy con rùa từ lớp  Pen. Đối tượng  tk sẽ tạo ra một cửa sổ mới
                    ​
                                                                                ​
                                                                   ​
               tinh để ta có thể thêm các thứ linh tinh vào, chẳng hạn như nút bấm, ô nhập chữ, hoặc là
               hẳn một bảng vẽ để thích vẽ vời gì lên cũng được. Đây là lớp chính của module  tkinter —
                                                                                                         ​
               nếu không tạo ra đối tượng này từ lớp  Tk, em sẽ không thể làm bất cứ thao tác đồ họa hay
                                                         ​
               hình ảnh động nào được.


                                                                                  ​
                       Dòng thứ ba, ta tạo ra một nút bấm với  btn = Button, đưa tk vào làm tham số đầu
                                                                             ​
                                                                                    ​
                       ​
               tiên và "click me" để làm chữ hiển thị trên nút, với  (tk, text="click me"). Mặc dù đã
                                                                                              ​
                                                                                             ​
                                   ​
                                                                                 ​
               thêm vào cửa sổ nhưng nút này sẽ không hiển thị ra nếu ta không thêm dòng  btn.pack()
               vào, dòng này sẽ làm nút bấm xuất hiện trên cửa sổ. Không những thế nó còn giúp dóng
               hàng mọi thứ nếu trong cửa sổ có thêm nhiều thứ nữa.



                                                                            Dùng tkinter để có đồ hoạ đẹp hơn           169
   190   191   192   193   194   195   196   197   198   199   200