Page 215 - Em Học Python
P. 215

VIẾT CHỮ



                       Ngoài việc vẽ hình khối, em cũng có thể viết chữ trên bảng vẽ bằng hàm

               create_text. Hàm này chỉ nhận một cặp toạ độ duy nhất (là vị trí x và y của chữ), cùng với
                             ​
               một tham số chỉ định cho chữ ta muốn viết. Trong đoạn code sau, ta tạo lại bảng vẽ như

               trước rồi hiển thị một câu ở toạ độ (150, 100). Lưu lại đoạn code vào file  text.py ​ .


                               ​
               from tkinter import *
                                      ​
                    ​
               tk = Tk()
               canvas = Canvas(tk, width=400, height=400)
               canvas.pack()
                                                                                                     ​
               canvas.create_text(150, 100, text='There once was a man from Toulouse,')
                                                        ​
                            ​
                       Hàm create_text có nhiều các tham số rất hay, như là tô màu chữ chẳng hạn. Ở
                                         ​
               đoạn code sau ta gọi hàm  create_text với toạ độ (130, 120), câu muốn viết, và tô màu đỏ.
                                                       ​

                                                                                                         ​
               canvas.create_text(130, 120, text='Who rode around on a moose.', fill='red')
                                                                                                   ​
                                                        ​
                                                                                           ​
                       Ta cũng có thể chọn phông chữ bằng một tuple với tên phông
               chữ và cỡ chữ. Ví dụ để chọn phông chữ Times với cỡ chữ 20 ta viết
               ('Times', 20). Dòng tiếp theo ta hiển thị chữ bằng phông Times cỡ 15,
                               ​
                 ​
                         ​
               phông Helvetica cỡ 20, rồi phông Courier cỡ 22 và cỡ 30.

                                                        ​
               canvas.create_text(150, 150, text='He said, "It\'s my curse,', font=('Times',
                                                                                                  ​
                                                                                                           ​
                                                                                         ​
               15))
                                                                                     ​
                                                                                               ​
                                                                                                            ​
                                                        ​
               canvas.create_text(200, 200, text='But it could be worse,', font=('Helvetica',
               20))
                                                                                                        ​
                                                                                             ​
               canvas.create_text(220, 250, text='My cousin rides round', font=('Courier',
                                                        ​
                                                                                    ​
               22))
               canvas.create_text(220, 300, text='on a goose."', font=('Courier', 30))
                                                        ​
                                                                                   ​
                                                                                             ​
                                                                         ​









                                                                            Dùng tkinter để có đồ hoạ đẹp hơn           189
   210   211   212   213   214   215   216   217   218   219   220