Download as pdf or txt
Download as pdf or txt
You are on page 1of 10

BÀI TẬP THỰC HÀNH MÔN PYTHON NÂNG CAO

 Bài tập được thiết kế theo từng lab, mỗi lab là 3 tiết có sự hướng
dẫn của GV.
 Cuối mỗi buổi thực hành, sinh viên nộp lại phần bài tập mình đã
thực hiện cho GV hướng dẫn.
 Những câu hỏi mở rộng/khó giúp sinh viên trau dồi thêm kiến thức
của môn học. Sinh viên phải có trách nhiệm nghiên cứu, tìm câu trả
lời nếu chưa thực hiện xong trong giờ thực hành.

1
BÀI TẬP THỰC HÀNH MÔN PYTHON NÂNG CAO

LAB 1:
Creating the GUI Form and
Adding Widgets
Nội dung
 Creating our first Python GUI
 Preventing the GUI from being resized
 Adding a label to the GUI form
 Creating buttons and changing their text attributes
 Creating textbox widgets
 Setting the focus to a widget and disabling widgets
 Creating combo box widgets
 Creating a check button with different initial states
 Using radio button widgets
 Using scrolled text widgets
 Adding several widgets in a loop

1. Viết chương trình python để tạo 1 cửa số với tiêu đề Python GUI như sau:

2. Viết chương trình python để tạo 1 cửa số với tiêu đề Python GUI và vô hiệu hóa nút thay đổi
kích thước màn hình như sau:

3. Viết chương trình python để thêm 1 label vào cửa sổ như sau:

2
BÀI TẬP THỰC HÀNH MÔN PYTHON NÂNG CAO

4. Viết chương trình python Tkinter để tạo 1 cửa số gồm 1 label tên là “A Label” và 1 button tên
là “Click Me!”

Khi nhấn vào nút “Click Me” thì label chuyển sang màu đỏ, tên label chuyển thành “A Red
Label” và nút “Click Me!” chuyển thành “** I have been Clicked! ** “

5. Viết chương trình python để tạo cửa sổ gồm các label, textbox dạng Entry và Button như sau:

Khi người dùng nhập vào 1 tên chẳng hạn như tên Mighty snake và nhấn vào nút “Click Me!”
thì nút “Click Me!” chuyển thành Hello Mighty snake như sau:

6. Viết chương trình python để tạo cửa sổ gồm các label, textbox dạng Entry và Button, trong đó
cần set focus vào textbox như hình sau:

3
BÀI TẬP THỰC HÀNH MÔN PYTHON NÂNG CAO

7. Viết chương trình python để tạo cửa sổ gồm các label, textbox dạng Entry và Button, vô hiệu
hóa nút “Click Me!”: Người dùng nhấn vào nút này sẽ không có hiệu lực.

8. Viết chương trình python để tạo cửa sổ gồm các label, textbox dạng Entry và Button như sau:

Khi người dùng gõ tên và textbox, chọn số ở combobox và nhấn vào nút Click Me! thì nút “Click
Me!” thay đổi thành Hello tên người đó + số kèm theo ví dụ như sau:

9. Viết chương trình python bổ sung thêm dòng cuối cùng của bài số 8 các nút checkbox như
sau:

10. Viết chương trình python bổ sung thêm dòng cuối cùng của bài số 9 các radio button như
sau. Khi người dùng chọn màu vàng bằng cách nhấn vào nút Gold thì sẽ hiển thị như hình sau:

4
BÀI TẬP THỰC HÀNH MÔN PYTHON NÂNG CAO

Khi người dùng chọn màu đỏ sẽ hiển thị như hình sau:

11. Viết chương trình python bổ sung thêm dòng cuối cùng của bài số 10 ScrolledText như sau:

Bạn hãy thử gõ nhiểu chữ hơn chiều cao của ScrolledText thì sẽ xuất hiện thanh cuộn như hình
sau:

LAB 2:
Layout Management
Nội dung
 Arranging several labels within a label frame Widget
 Using padding to add space around widgets
 Dynamically expanding the GUI using widgets
 Aligning GUI widgets by embedding frames within frames
 Creating menu bars
 Creating tabbed widgets
 Using the grid layout manager

1. Tạo thêm LabelFrame từ các bài tập ở Lab 1 như hình sau:

5
BÀI TẬP THỰC HÀNH MÔN PYTHON NÂNG CAO

2. Thay đổi vị trí các Label1, Label2, Label3 ở bài 1 từ chiều ngang thành chiều dọc như hình
sau:

3. Thêm các padding cho LabelFrame để giao diện ở bài 2 hiển thị LabelFrame như hình sau:

4. Thêm các padding cho LabelFrame để giao diện ở bài 2 hiển thị LabelFrame như hình sau:

5. Thêm các padding cho LabelFrame để giao diện ở bài 2 hiển thị LabelFrame như hình sau:

6. Xóa chữ “Labels in a Frame” ở LabelFrame ở các bài trên như hình sau:

6
BÀI TẬP THỰC HÀNH MÔN PYTHON NÂNG CAO

7. Chỉnh thuộc tính columnspan=3 cho ScrolledText widget để giao diện hiển thị như hình sau:

8. Xóa thuộc tính columnspan=3 cho ScrolledText widget để giao diện hiển thị như hình sau:

9. Hiển thị LabelFrame nằm giữa như hình sau:

7
BÀI TẬP THỰC HÀNH MÔN PYTHON NÂNG CAO

10. Tạo các embed frames trong frames như hình sau:

11. Tạo các embed frames trong frames như hình sau:

12. Chỉnh thuộc tính sticky cho Label để giao diện hiện thị như hình sau:

13. Chỉnh thuộc tính sticky cho Entry để giao diện hiện thị như hình sau:

8
BÀI TẬP THỰC HÀNH MÔN PYTHON NÂNG CAO

14. Tạo menu bar như giao diện sau:

15. Thêm vào nút Exit nằm dưới nút New ở Menu bar như hình sau:

16. Thêm đường phân cách giữa 2 nút New và Exit như hình sau:

9
BÀI TẬP THỰC HÀNH MÔN PYTHON NÂNG CAO

17. Bỏ đường gạch trên cùng của Menu bar để giao diện hiển thị như hình sau:

18. Thêm menu Help bên cạnh menu File, trong menu Help có nút About như hình sau:

19. Thêm các Tab1 và Tab2 như hình sau, khi click vào Tab1, Tab2 thì giao diện như hình sau:

20. Cài đặt các sự kiện cho nút Exit trong menu File, nhấn vào nút Exit thì thoát ứng dụng. Nhấn
vào Radio Button là Blue thì LabelFrame dưới chuyển sang màu xanh, nhấn vào Radio Button là
Gold thì LabelFrame dưới chuyển sang màu vàng, nhấn vào Radio Button là Red thì
LabelFrame dưới chuyển sang màu đỏ.

10

You might also like