Trong một số trường hợp, bạn có thể đã bắt đầu chương trình của mình với một danh sách thay vì các bộ vì kết luận rằng cấu trúc dữ liệu có thể thay đổi phù hợp hơn cho dự án. Nhưng mọi thứ thay đổi, các dự án phát triển và ý tưởng được biết là thay đổi lộ trình. Bây giờ bạn quyết định rằng bạn cần cấu trúc bất biến nhưng dường như đã quá muộn để thực hiện công việc chuyển đổi danh sách tẻ nhạt của bạn? . Frozenset[] sẽ làm cho nó trở nên dễ dàng
Python cung cấp nhiều tùy chọn khác nhau để phát triển giao diện người dùng đồ họa [GUIs]. 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à giao diện Python mã nguồn mở cho wxWindows http. //wxpython. tổ chức
JPython − JPython là một cổng Python dành 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. tổ chức
Có 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 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 tiện ích nêu 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
Ví 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 -
Tiện ích Tkinter
Tkinter cung cấp nhiều đ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 widget 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. Không. Toán tử & Mô tả1ButtonTiện ích Nút được sử dụng để hiển thị các nút trong ứng dụng của bạn
2vảiTiệ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
3Nút kiểm traTiện ích Nút kiểm đượ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
4Mục nhậpTiệ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 giá trị từ người dùng
5khungTiện ích Khung được sử dụng làm tiện ích chứa để sắp xếp các tiện ích khác
Tiện ích Nhãn được sử dụng để cung cấp chú thích một dòng cho các tiện ích khác. Nó cũng có thể chứa hình ảnh
7hộp danh sáchTiệ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
8nút thực đơnTiện ích Menubutton được sử dụng để hiển thị các menu trong ứng dụng của bạn
9Thực đơnTiệ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
10Tin nhắnTiệ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 phóng xạTiện ích Radiobutton được sử dụng để hiển thị một số tùy chọn dưới dạng 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
12Quy môTiện ích Tỷ lệ được sử dụng để cung cấp tiện ích thanh trượt
13Thanh cuộnTiện ích Thanh cuộn được sử dụng để thêm khả năng cuộn vào các tiện ích khác nhau, chẳng hạn như hộp danh sách
14Văn bảnTiện ích Văn bản được sử dụng để hiển thị văn bản trong nhiều dòng
15Cấp cao nhấtTiện ích Toplevel được sử dụng để cung cấp vùng chứa cửa sổ riêng
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
17Cửa sổ PanedPanedWindow là một tiện ích 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
18NhãnKhungLabelframe 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 miếng đệm hoặc vùng chứa cho các bố cục cửa sổ phức tạp
19 tkMessageBoxMô-đ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 các vật dụng này một cách chi tiết -
thuộc tính tiêu chuẩn
Chúng ta hãy xem làm thế nào một số thuộc tính phổ biến của họ. chẳng hạn như kích thước, màu sắc và phông chữ được chỉ định
Hãy để chúng tôi nghiên cứu chúng một thời gian ngắn -
Quản lý hình học
Tất cả các tiện ích 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 tiện ích trong khu vực tiện ích chính. Tkinter hiển thị các lớp trình quản lý hình học sau. gói, lưới và địa điểm
Phương thức pack[] - Trình quản lý hình học này sắp xếp các widget theo khối trước khi đặt chúng vào widget chính
Phương thức grid[] - Trình quản lý hình học này tổ chức các widget theo cấu trúc giống như bảng trong widget cha
Phương thức place[] - Trình 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 widget cha
Làm cách nào để tạo cửa sổ Tkinter trong Python?
Lập trình Tkinter .Nhập mô-đun TkinterTạo cửa sổ chính của ứng dụng GUIThêm một hoặc nhiều tiện ích nêu trên vào ứng dụng GUINhậ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ạtLàm cách nào để tạo cửa sổ trong Python?
Tạo cửa sổ bằng Python bằng ví dụ về Tkinter .from tkinter import * # Nhập thư viện tkinter vào Chương trình Python của bạnWindow = Tk[] # Khai báo một đối tượng cửa sổ sử dụng phương thức Tk[]Cửa sổ. mainloop[] # Kết thúc chương trình bằng phương thức mainloop[] cho cửa sổ. Phương pháp này giữ cho cửa sổ hoạt độngHàm nào tạo cửa sổ chính của bạn trong Python Tkinter?
cửa sổ. mainloop[] yêu cầu Python chạy vòng lặp sự kiện Tkinter. Phương pháp này lắng nghe các sự kiện, chẳng hạn như bấm nút hoặc nhấn phím và chặn bất kỳ mã nào chạy sau nó cho đến khi bạn đóng cửa sổ nơi bạn đã gọi phương thức.