Giao diện người dùng đồ họa (GUI) là một trong những phần quan trọng nhất của bất kỳ ứng dụng web nào. Một số người sẽ nói đó là phần quan trọng nhất, vì những người dùng tinh vi ngày nay nhanh chóng từ bỏ các ứng dụng có khả năng sử dụng kém. Điều này cũng đúng với các ứng dụng Python. Các lập trình viên Python mới làm quen thường thử nghiệm với việc xây dựng GUI sau khi họ đã nắm vững kiến thức cơ bản về lập trình Python. Đó là khi họ phát hiện ra một khung là điều cần thiết để phát triển GUI hiệu quả, nhưng Python không thiếu các khung GUI. Câu hỏi nhanh chóng trở thành, cái nào là tốt nhất cho ứng dụng của bạn? Để trả lời câu hỏi này, trước tiên chúng ta phải biết tại sao GUI lại quan trọng đối với ứng dụng của bạn Show
Tại sao GUI lại quan trọng?GUI của bạn là ấn tượng đầu tiên của ứng dụng của bạn. Nếu bạn đang hy vọng thành công, bạn không thể tạo ấn tượng ban đầu tồi tệ. Bạn sẽ cần rất nhiều yếu tố đồ họa khác nhau, bao gồm các nút, hộp kiểm, nút chuyển đổi, danh sách thả xuống, trường tìm kiếm, thanh trượt, chú giải công cụ, v.v. — mọi thứ mà người dùng của bạn cần để tương tác với chức năng do ứng dụng của bạn cung cấp. Vị trí lộn xộn hoặc các tiện ích không hấp dẫn sẽ không giúp ích gì cho lần hiển thị đầu tiên. Bảo mật và hiệu suất cũng là những yếu tố chính xác định chất lượng ứng dụng của bạn và trải nghiệm của người dùng với ứng dụng đó. Bạn sẽ muốn ứng dụng của mình vừa nhanh vừa an toàn, nhưng bạn không muốn phải hy sinh GUI của mình để làm điều đó. Nếu người dùng gặp sự cố khi tương tác với ứng dụng của bạn một cách hiệu quả, cơ sở người dùng của bạn sẽ bị ảnh hưởng Tại sao Khung GUI lại quan trọng?Các khung phát triển được thiết kế để làm cho cuộc sống của nhà phát triển dễ dàng hơn. Chúng làm cho một loại ứng dụng cụ thể dễ tạo hơn hoặc một ngôn ngữ cụ thể dễ làm việc hơn. Khung GUI cho Python giúp việc phát triển giao diện người dùng cho ứng dụng của bạn dễ dàng hơn nhiều so với việc cố gắng viết mã thủ công bằng Python. Bây giờ bạn đã biết những gì cần tìm, tôi sẽ đếm ngược những gì tôi cho là mười khung GUI Python hàng đầu. Đối với mỗi người, tôi sẽ thảo luận về các điểm bán hàng độc đáo của họ, bao gồm.
Trước khi bạn bắt đầu. Cài đặt Môi trường Python Sẵn sàng Sử dụng Khung GUI của chúng tôiCách dễ nhất để bắt đầu thử nghiệm các khung GUI là cài đặt môi trường GUI Frameworks Python của chúng tôi cho Windows hoặc Linux, có chứa một phiên bản Python và hầu hết các gói được liệt kê trong bài đăng này Để tải xuống môi trường GUI Frameworks Python sẵn sàng sử dụng, bạn sẽ cần tạo tài khoản Nền tảng ActiveState. Chỉ cần sử dụng thông tin đăng nhập GitHub hoặc địa chỉ email của bạn để đăng ký. Việc đăng ký thật dễ dàng và nó mở ra nhiều lợi ích của Nền tảng ActiveState cho bạn Hoặc bạn cũng có thể sử dụng công cụ Trạng thái của chúng tôi để cài đặt môi trường thời gian chạy này. Đối với người dùng Windows , hãy chạy phần sau tại dấu nhắc CMD để tự động tải xuống và cài đặt CLI của chúng tôi, Công cụ trạng thái cùng với thời gian chạy Khung GUI vào môi trường ảo. powershell -Command "& $([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://platform.activestate.com/dl/cli/install.ps1'))) -activate-default Pizza-Team/GUI-Frameworks-Win" Đối với người dùng Linux , hãy chạy phần sau để tự động tải xuống và cài đặt CLI của chúng tôi, Công cụ trạng thái cùng với thời gian chạy Khung GUI vào môi trường ảo. sh <(curl -q https://platform.activestate.com/dl/cli/install.sh) --activate-default Pizza-Team/GUI-Frameworks 10–PyGUIDự án GUI Python, hay còn gọi là PyGUI framework, là một API đơn giản dành cho nhà phát triển để tạo giao diện người dùng bằng các phần tử gốc cho các ứng dụng Python. Là một API nhẹ, không cần nhiều mã giữa ứng dụng và nền tảng đích, khiến nó hiệu quả hơn nhiều khung khác trong danh sách này. Thuận lợi
Hạn chế
9–SápWax là trình bao bọc cho wxPython (xem #3 trong danh sách này). Nó cung cấp chức năng tương tự như wxPython, nhưng thân thiện với người dùng hơn nhiều. Tôi cũng đã bao gồm một ví dụ về cách sử dụng Wax ở cuối bài đăng này. Thuận lợi
Hạn chế
8–PyformPyforms-GUI là lớp phần mềm tạo thành một phần của thư viện chính Pyforms, cũng bao gồm PyForms-Web và PyForms-Terminal. Pyforms là triển khai Python của Windows Forms, cho phép bạn phát triển giao diện tương tác cho chế độ Windows GUI, chế độ Web và chế độ Terminal. Thuận lợi
Hạn chế
7–PySimpleGUIPySimpleGUI đã được tạo từ năm 2008 để giúp việc phát triển GUI trong Python dễ tiếp cận hơn. Những gì trong một cái tên? . Thuận lợi
Hạn chế
6–LibavgLibavg là một khung GUI Python tuyệt vời dành riêng cho việc xây dựng các giao diện dựa trên cảm ứng. Nó được xây dựng bằng C++, cho phép thời gian thực thi nhanh, cần thiết khi xử lý các giao diện dựa trên cảm ứng. Thuận lợi
Hạn chế
5–KivyKivy là thư viện Python nguồn mở, đa nền tảng (dựa trên Python và Cython) được thiết kế để phát triển nhanh các ứng dụng có giao diện người dùng phức tạp, chẳng hạn như ứng dụng đa chạm. Kivy chạy trên Linux, Windows, OS X, Android, iOS và Raspberry Pi và bạn có thể chạy cùng một mã trên tất cả các nền tảng này. Sự kết hợp của 'mã một lần, chạy trên nhiều nền tảng' cộng với việc sử dụng các kỹ thuật đồ họa mạnh mẽ (hỗ trợ tích hợp cho OpenGL ES 2) làm cho khung này phù hợp với các nhà thiết kế ứng dụng iOS và Android Thuận lợi
Hạn chế
4–PySide2PySide2 là Qt cho Python, cung cấp các ràng buộc Python chính thức cho Qt. Điều này cho phép sử dụng API Qt trong ứng dụng Python và cũng là công cụ tạo liên kết (Shiboken2) để hiển thị các dự án C++ trong Python. Qt được coi là tiêu chuẩn cho thiết kế GUI để đo lường tất cả các khung GUI Python khác. Như vậy, PySide2 cung cấp cho các nhà phát triển Python quyền truy cập vào bộ sưu tập các công cụ và thư viện đã được chứng minh để tạo giao diện người dùng nhanh chóng và linh hoạt. Thuận lợi
Hạn chế
3–wxPythonwxPython là bộ công cụ GUI đa nền tảng mà bạn có thể sử dụng để tạo GUI mạnh mẽ, có chức năng theo cách đơn giản và dễ dàng. Việc triển khai là một tập hợp các mô-đun mở rộng Python bao bọc các thành phần GUI của thư viện đa nền tảng wxWidgets, được viết bằng C++. wxPython tạo các giao diện người dùng gốc không thêm chi phí bổ sung cho ứng dụng, cung cấp cho bạn khả năng của một thư viện chức năng mà không phải chịu gánh nặng Thuận lợi
Hạn chế
2–TkinterTkinter là sự kết hợp của khung GUI tiêu chuẩn Tcl và Python cung cấp cho bạn tất cả các tiện ích bạn cần để tạo giao diện người dùng phong phú cho bất kỳ ứng dụng nào bạn đang làm việc, nhưng đặc biệt là . Thuận lợi
Hạn chế
1–PyQt5PyQt5 là một khung GUI rất nổi tiếng được sử dụng bởi cả lập trình viên Python và nhà thiết kế giao diện người dùng. Một trong các thành phần của nó, gói PyQt, được xây dựng xung quanh khung Qt, đây là công cụ thiết kế GUI đa nền tảng hàng đầu cho mọi loại ứng dụng. Gói PyQt5 có một bộ liên kết chi tiết cho Python dựa trên phiên bản mới nhất (v5) của khung ứng dụng Qt. Nó cũng cung cấp hỗ trợ SQL để kết nối với cơ sở dữ liệu. Tạo GUI cực kỳ dễ dàng với mô-đun QtGUI và QtDesigner, cung cấp nhiều yếu tố trực quan có thể được triển khai đơn giản bằng cách kéo và thả các tiện ích Thuận lợi
Hạn chế
kết luận. Khung GUI Python nào là tốt nhất?Mẩu chuyện dài. Nó phụ thuộc vào nhu cầu của bạn. Ví dụ
Đối với tôi, khung giao diện người dùng tốt nhất là Wax, phiên bản thân thiện với người dùng của wxPython. Nó có tất cả các đặc điểm của một khung Python hiệu quả để phát triển GUI mà không cần nhiều giải pháp phức tạp hơn. Tuy nhiên, nếu bạn có nhu cầu về các yếu tố thiết kế và đồ họa nâng cao, thì có lẽ bạn nên thử PyQt5, Tkinter hoặc PySide 2 Sẵn sàng cho Wax? from wax import * from wax.tools.datepicker import DatePicker import datetime import time class MainFrame(VerticalFrame): def Body(self): p1 = HorizontalPanel(self) dp1 = DatePicker(p1) p1.AddComponent(dp1) p1.AddSpace(10) b1 = Button(p1, "Add 1 day", event=self.AddOneDay) p1.AddComponent(b1) p1.Pack() self.AddComponent(p1, expand='h', border=4) p2 = HorizontalPanel(self) dp2 = DatePicker(p2, style='dropdown', show_century=1) p2.AddComponent(dp2) p2.AddSpace(10) b2 = Button(p2, "Yesterday", event=self.SetToYesterday) p2.AddComponent(b2) p2.Pack() self.AddComponent(p2, expand='h', border=4) self.Pack() self.BackgroundColor = p1.BackgroundColor self.dp1 = dp1 self.dp2 = dp2 # restrict dp2's range to current year thisyear = time.localtime(time.time())[0] dp2.SetRange((thisyear, 1, 1), (thisyear, 12, 31)) def AddOneDay(self, event): self.dp1.Inc() print "Date set to:", self.dp1.Value def SetToYesterday(self, event): now = time.localtime(time.time()) self.dp2.Value = now[:3] # tuple: (year, month, day) self.dp2.Dec() app = Application(MainFrame, title='datepicker-1') app.Run() Để giúp bạn dùng thử khung GUI dễ dàng hơn, hãy cài đặt môi trường thời gian chạy Khung GUI của chúng tôi cho Windows hoặc Linux, chứa phiên bản Python và hầu hết các khung GUI trong bài đăng này Với Nền tảng ActiveState, bạn có thể tạo môi trường Python của mình sau vài phút, giống như môi trường chúng tôi đã tạo cho dự án này. Hãy tự mình dùng thử hoặc tìm hiểu thêm về cách nó giúp các nhà phát triển Python làm việc hiệu quả hơn GUI tốt nhất cho Python là gì?Dưới đây là tổng quan về 10 thư viện Python tốt nhất dành cho GUI. . PyQt5. Được phát triển bởi Riverbank Computing, PyQt5 là một trong những khung Python phổ biến nhất cho GUI. . tkinter. Một thư viện Python hàng đầu khác cho GUI là Tkinter, một thư viện Giao diện người dùng đồ họa Python mã nguồn mở. . kivy. . PySimpleGUI. . Libavg. . PyForms. . PySide2. . Các chương trình Python có thể có GUI không?Python hỗ trợ nhiều khung GUI hoặc bộ công cụ , từ Tkinter thường đi kèm với Python, đến một số giải pháp đa nền tảng, chẳng hạn như PyQT hoặc wxPython, mà bạn .
Làm cách nào để tạo ứng dụng dựa trên GUI bằng Python?Tkinter là thư viện GUI chuẩn cho Python. . 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 GUI Python nào là tốt nhất cho người mới bắt đầu?Tkinter là sự kết hợp của khung GUI tiêu chuẩn Tcl và Python cung cấp cho bạn tất cả các tiện ích bạn cần để tạo giao diện người dùng phong phú cho bất kỳ ứng dụng nào bạn đang làm việc, nhưng nó đặc biệt phù hợp để phát triển ứng dụng dành cho máy tính để bàn PyQt5 là một khung GUI rất nổi tiếng được sử dụng bởi cả lập trình viên Python và nhà thiết kế giao diện người dùng |