Python - Lập trình GUI (Tkinter)

Python cung cấp các tùy chọn khác nhau để phát triển giao diện người dùng đồ họa (GUI). Quan trọng nhất được liệt kê dưới đây.

  • Tkinter- Tkinter là giao diện Python cho bộ công cụ Tk GUI đi kèm với Python. Chúng tôi sẽ xem xét tùy chọn này trong chương này.

  • wxPython - Đây là một giao diện Python mã nguồn mở cho wxWindows http://wxpython.org.

  • JPython - JPython là một cổng Python cho Java cho phép các tập lệnh Python truy cập liền mạch vào các thư viện lớp Java trên máy cục bộ http://www.jython.org.

Có rất nhiều giao diện khác có sẵn, bạn có thể tìm thấy chúng trên mạng.

Lập trình Tkinter

Tkinter là thư viện GUI tiêu chuẩn cho Python. Python khi kết hợp với Tkinter cung cấp một cách nhanh chóng và dễ dàng để tạo các ứng dụng GUI. Tkinter cung cấp một giao diện hướng đối tượng mạnh mẽ cho bộ công cụ Tk GUI.

Tạo một ứng dụng GUI bằng Tkinter là một nhiệm vụ dễ dàng. Tất cả những gì bạn cần làm là thực hiện các bước sau:

  • Nhập mô-đun Tkinter .

  • Tạo cửa sổ chính của ứng dụng GUI.

  • Thêm một hoặc nhiều widget nói trên vào ứng dụng GUI.

  • Nhập vòng lặp sự kiện chính để thực hiện hành động đối với từng sự kiện do người dùng kích hoạt.

Thí dụ

#!/usr/bin/python

import Tkinter
top = Tkinter.Tk()
# Code to add widgets will go here...
top.mainloop()

Điều này sẽ tạo ra một cửa sổ sau:

Tkinter Widgets

Tkinter cung cấp các điều khiển khác nhau, chẳng hạn như các nút, nhãn và hộp văn bản được sử dụng trong ứng dụng GUI. Các điều khiển này thường được gọi là widget.

Hiện tại có 15 loại vật dụng trong Tkinter. Chúng tôi trình bày các tiện ích này cũng như mô tả ngắn gọn trong bảng sau:

Sr.No. Nhà điều hành & Mô tả
1 Cái nút

Tiện ích Nút được sử dụng để hiển thị các nút trong ứng dụng của bạn.

2 Tranh sơn dầu

Tiện ích Canvas được sử dụng để vẽ các hình dạng, chẳng hạn như đường thẳng, hình bầu dục, đa giác và hình chữ nhật, trong ứng dụng của bạn.

3 Nút kiểm tra

Tiện ích Nút kiểm tra được sử dụng để hiển thị một số tùy chọn dưới dạng hộp kiểm. Người dùng có thể chọn nhiều tùy chọn cùng một lúc.

4 Nhập cảnh

Tiện ích Mục nhập được sử dụng để hiển thị trường văn bản một dòng để chấp nhận các giá trị từ người dùng.

5 Khung

Widget Frame được sử dụng như một widget vùng chứa để sắp xếp các widget khác.

6 Nhãn

Tiện ích con Nhãn được sử dụng để cung cấp chú thích một dòng cho các tiện ích con khác. Nó cũng có thể chứa hình ảnh.

7 Hộp danh sách

Tiện ích Hộp danh sách được sử dụng để cung cấp danh sách các tùy chọn cho người dùng.

số 8 Menubutton

Tiện ích Menubutton được sử dụng để hiển thị các menu trong ứng dụng của bạn.

9 Thực đơn

Tiện ích Menu được sử dụng để cung cấp các lệnh khác nhau cho người dùng. Các lệnh này được chứa bên trong Menubutton.

10 Thông điệp

Tiện ích Tin nhắn được sử dụng để hiển thị các trường văn bản nhiều dòng để chấp nhận các giá trị từ người dùng.

11 Nút radio

Tiện ích Radiobutton được sử dụng để hiển thị một số tùy chọn dưới dạng các nút radio. Người dùng chỉ có thể chọn một tùy chọn tại một thời điểm.

12 Tỉ lệ

Tiện ích con Quy mô được sử dụng để cung cấp tiện ích con trượt.

13 Thanh cuộn

Tiện ích Thanh cuộn được sử dụng để thêm khả năng cuộn vào các tiện ích con khác nhau, chẳng hạn như hộp danh sách.

14 Bản văn

Tiện ích Văn bản được sử dụng để hiển thị văn bản trong nhiều dòng.

15 Toplevel

Tiện ích con Toplevel được sử dụng để cung cấp một vùng chứa cửa sổ riêng biệt.

16 Hộp xoay

Tiện ích Spinbox là một biến thể của tiện ích Tkinter Entry tiêu chuẩn, có thể được sử dụng để chọn từ một số giá trị cố định.

17 PanedWindow

PanedWindow là một widget vùng chứa có thể chứa bất kỳ số lượng ngăn nào, được sắp xếp theo chiều ngang hoặc chiều dọc.

18 LabelFrame

Labelframe là một tiện ích chứa đơn giản. Mục đích chính của nó là hoạt động như một bộ đệm hoặc vùng chứa cho các bố cục cửa sổ phức tạp.

19 tkMessageBox

Mô-đun này được sử dụng để hiển thị các hộp thông báo trong các ứng dụng của bạn.

Hãy để chúng tôi nghiên cứu chi tiết các widget này -

Thuộc tính tiêu chuẩn

Chúng ta hãy xem cách một số thuộc tính phổ biến của chúng như kích thước, màu sắc và phông chữ được chỉ định.

  • Dimensions

  • Colors

  • Fonts

  • Anchors

  • Phong cách cứu trợ

  • Bitmaps

  • Cursors

Hãy để chúng tôi nghiên cứu chúng một cách ngắn gọn -

Quản lý hình học

Tất cả các widget Tkinter đều có quyền truy cập vào các phương pháp quản lý hình học cụ thể, có mục đích tổ chức các widget trong toàn bộ khu vực widget chính. Tkinter đưa ra các lớp trình quản lý hình học sau: gói, lưới và địa điểm.

  • Các gói () Phương pháp - quản lý hình học này tổ chức các vật dụng trong khối trước khi đặt chúng trong các phụ tùng cha mẹ.

  • Các lưới () Phương pháp - quản lý hình học này tổ chức các vật dụng trong một cấu trúc bảng giống như trong các phụ tùng cha mẹ.

  • Các vị trí () Phương pháp - quản lý hình học này tổ chức các widget bằng cách đặt chúng ở một vị trí cụ thể trong các phụ tùng cha mẹ.

Chúng ta hãy nghiên cứu ngắn gọn các phương pháp quản lý hình học -