Bạn có thể tạo một GUI đẹp bằng Python không?

Python đã thành công trong nhiều trường hợp sử dụng. Nhưng ít người hiểu và đánh giá cao khả năng của nó trong việc tạo giao diện người dùng đồ họa (GUI. ) Thật vậy, chúng tôi có một số khung GUI python đặc biệt giúp các nhà phát triển nhanh chóng đưa ra giao diện để tương tác với dự án của họ

Show

Bài đăng này sẽ thảo luận về 3 khung GUI đa nền tảng và 2 công cụ giao diện web. Chúng tôi cũng sẽ đề cập đến một số ví dụ cơ bản và điểm mạnh của chúng để bạn có thể làm quen tốt với việc chọn đúng ví dụ cho dự án tiếp theo của mình

Dưới đây là năm công cụ bạn cần biết để xây dựng giao diện người dùng hữu ích

cấp độ

Gradio là một trình tạo giao diện người dùng web tuyệt đẹp. Nó được thiết kế đặc biệt cho các dự án máy học

Tạo giao diện người dùng web cho API Python và Mô hình ML

Nhanh chóng tạo nguyên mẫu và chia sẻ ứng dụng web với người khác. Thu thập phản hồi về dự đoán để cải thiện hiệu suất mô hình ML

hướng tới khoa học dữ liệu. com

Gradio có khoảng 25 vật dụng khác nhau. Mỗi cái có một bộ cấu hình riêng. Bạn có thể bọc từng chức năng Python trong giao diện Gradio và hiển thị đầu ra của nó trên một tiện ích con khác

Điều thú vị về Gradio là khả năng thu thập phản hồi. Là nhà khoa học dữ liệu, bạn thường cần thu thập phản hồi từ những người đánh giá về mô hình của mình

Gradio có tùy chọn cờ. Nếu người dùng thấy dự đoán mô hình bị tắt. Họ có thể nhấp vào nút gắn cờ. Gradio sẽ thu thập tất cả các giá trị đầu vào, dự đoán và thông tin khác

Như hầu hết các nhà khoa học dữ liệu có kinh nghiệm đều biết, việc xây dựng và triển khai các mô hình là một quá trình lặp đi lặp lại nhiều lần. Do đó, việc thu thập phản hồi làm cho Gradio trở nên phù hợp hoàn hảo cho việc tạo nguyên mẫu ứng dụng ML

Bạn cũng có thể triển khai miễn phí ứng dụng của mình trên các không gian Huggingface. Bằng cách đó, bạn có thể chia sẻ công việc của mình với nhiều đối tượng hơn và thu thập thêm phản hồi. Huggingface chỉ cho phép các ứng dụng Gradio và Streamlit (và các trang tĩnh) trên nền tảng của họ

Điều này làm cho Streamlit trở thành công cụ Python tốt nhất tiếp theo để phát triển GUI

Hợp lý hóa

Streamlit là một công cụ tuyệt vời để phát triển các ứng dụng web bằng Python. Nó có kiểu viết mã khai báo mà tôi thấy rất hữu ích

Bảo mật ứng dụng Streamlit của bạn với Django

Xây dựng một hệ thống xác thực linh hoạt xung quanh ứng dụng web máy học của bạn

hướng tới khoa học dữ liệu. com

Bạn không cần phải biết bất kỳ HTML, CSS hoặc JavaScript nào hoặc theo bất kỳ khóa học trực tuyến nào về phát triển web. Nếu bạn biết Python, bạn đã được trang bị mọi thứ bạn cần

Bạn có thể cài đặt Streamlit bằng lệnh sau

pip install streamlit

Đây là một ứng dụng đơn giản hiển thị khung dữ liệu gấu trúc trên trang web

Ví dụ về Streamlit cơ bản — đoạn trích của Tác giả

Tạo một tệp có tên quickstart.py với nội dung trên. Để khởi động máy chủ web streamlit, hãy chạy lệnh sau

streamlilt run quickstart.py

Lệnh này sẽ khởi động một máy chủ phát triển và trên trình duyệt web của bạn, bạn có thể thấy như sau

Streamlit is a powerful Python web app development framework with a declarative coding style. It’s extremely useful for data science projects because data scientists usually don’t focus on technologies such as HTML, CSS, or JavaScript. With this tool, they can add interactiveness to their machine learning model only using Python.

Ứng dụng cơ bản hợp lý hóa — Hình ảnh của Tác giả

Bạn có thể tìm hiểu thêm về Streamlit trong bài viết trước của tôi về chủ đề này. Ngoài ra còn có một ứng dụng này, bạn có thể kiểm tra

Hướng dẫn nhanh chóng và dễ dàng để tạo Wordclouds bằng Python

Tạo các đám mây chữ với nhiều hình dạng khác nhau để truyền tải thông điệp tốt hơn

hướng tới khoa học dữ liệu. com

Cách tạo ứng dụng web tuyệt đẹp cho các dự án khoa học dữ liệu của bạn

Các nhà khoa học dữ liệu không phải học HTML, CSS và JavaScript để xây dựng các trang web

hướng tới khoa học dữ liệu. com

âm mưu Dash

Plotly đã tồn tại được vài năm. Dash là một khung tận dụng rộng rãi các biểu đồ Plotly để xây dựng GUI với ít mã hơn

Plotly Dash là một giải pháp linh hoạt phù hợp với nhiều ứng dụng. Trang web của họ cho biết nó được thiết kế để tiếp cận những nơi mà Tableau và PowerBI không thể

Theo ý kiến ​​của tôi, nó làm

Cài đặt Plotly Dash bằng lệnh đơn sau từ kho lưu trữ PyPI

pip install dash

Để bắt đầu, bạn có thể tạo một tệp có tên app.py với nội dung sau và chạy nó giống như bất kỳ tập lệnh python nào khác

Ví dụ cơ bản về Plotly Dash — đoạn trích của Tác giả

Chạy đoạn mã dưới đây để kích hoạt máy chủ web. Nó sẽ khởi tạo một máy chủ phát triển Flask và mở nó trên trình duyệt web mặc định của bạn

python app.py

Plotly Dash is a low code Python dashboard development tool. This is also a better alternative for Business Intelligence (BI) tools such as Power BI and Tableau. Dash is more flexible to accomplish tasks other BI tools can’t.

Ứng dụng Plotly Dash cơ bản — Hình ảnh của Tác giả

Bạn có thể đọc thêm về Plotly Dash trong bài đăng trên blog trước đây của tôi về chủ đề này

Đây là cách tôi tạo bảng điều khiển rực rỡ hoàn toàn bằng Python

Ứng dụng Plotly dash là cách nhanh nhất để xây dựng bảng điều khiển cấp sản xuất trong python

hướng tới khoa học dữ liệu. com

Plotly Dash và Streamlit là những công nghệ trưởng thành hơn trong danh sách này. Mặc dù chúng rất hữu ích trong việc phát triển ứng dụng web, nhưng chúng tôi có các công cụ giúp chúng tôi xây dựng ứng dụng đa nền tảng bằng Python. Tiếp theo là một ví dụ tuyệt vời

kivy

Kivy là một framework phát triển phần mềm Python đa nền tảng. Với nó, bạn có thể tạo các ứng dụng Máy tính để bàn cho Windows, OS X và Linux, xây dựng các ứng dụng di động cho iOS và Android cũng như sử dụng nó trên các thiết bị nhúng trên Raspberry Pi

Bạn đã đọc nó một cách chính xác

Python không còn giới hạn trong phát triển web và máy tính để bàn. Bạn có thể làm nhiều thứ hơn mà bạn không thể làm với các ngôn ngữ khác. Có lẽ, đó là lý do tại sao Python là cuộc khảo sát dành cho nhà phát triển, 2021

Tài liệu của Kivy bao gồm các hướng dẫn chi tiết từ cài đặt đến xuất bản trên Android Marketplace. Chúng khác biệt đáng kể từ nền tảng này sang nền tảng khác

Vì tôi đang dùng Ubuntu (Linux), nên tôi đang sử dụng cách PPA chính thức của Kivy để cài đặt nó. Sau đây là hướng dẫn để làm điều đó

$ sudo add-apt-repository ppa:kivy-team/kivy
$ sudo apt-get install python3-kivy

Sau khi cài đặt, bạn có thể tạo một tệp app.py với nội dung sau và chạy tệp đó để xem Kivy hoạt động

Ứng dụng Kivy cơ bản — đoạn trích của Tác giả

Kivy is a cross platform python GUI framework. It could create GPU optimized applications for Windows, Mac OS X, Linux as well as mobile platforms such as iOS and Android. This tool is also free for both open source and commercial products. This is a basic UI generated with Kivy.

GUI cơ bản được tạo bằng Kivy - Hình ảnh của Tác giả

Như bạn có thể thấy trong ví dụ trên, bố cục Lưới của Kivy rất thuận tiện để sắp xếp các thành phần giao diện người dùng trên màn hình. Bạn chỉ cần xác định số lượng cột và bắt đầu thêm các phần tử. Kivy đủ thông minh để hiển thị chúng theo cách tốt nhất có thể

Tất nhiên, Kivy còn hơn thế này. Từ tài liệu chính thức của họ, bạn có thể tìm hiểu thêm về tối ưu hóa GPU, bản dựng dành cho thiết bị di động, hỗ trợ cảm ứng, v.v. Đây là một hướng dẫn Freecodecamp tuyệt vời để xem trên Youtube

Khóa học Freecodecamp trên Kivy — Python GUI framework để phát triển đa nền tảng

Kivy là một công cụ tuyệt vời để tạo nguyên mẫu cho các ứng dụng di động của bạn. Nếu nhóm của bạn không có bộ kỹ năng để phát triển ứng dụng dành cho thiết bị di động, đây có thể là lựa chọn tốt nhất

PyQt5

PyQt5 là một khung được xây dựng xung quanh QT. QT (và PYQT5) hỗ trợ phát triển đa chức năng. Nó hỗ trợ Windows, Mac, Linux và các nền tảng di động như iOS và Android

Bên cạnh các thành phần giao diện người dùng ấn tượng, PyQT5 tích hợp tốt với các API hệ điều hành gốc. Một lợi ích tuyệt vời của PYQT5 là Trình thiết kế QT, một công cụ cho phép bạn soạn giao diện người dùng một cách trực quan bằng các tiện ích QT

Bạn có thể cài đặt khung bằng PyPI như sau

pip install PyQt5

Một ứng dụng theo phong cách thế giới xin chào sẽ chỉ có một vài dòng mã tạo giao diện người dùng đẹp mắt

Ví dụ cơ bản về PyQT5 — đoạn trích của Tác giả

QT is a popular framework for GUI development. PyQT is a wrapper around QT that lets you develop feature rich GUI only using Python. A great benefit of these technologies is the QT Designer which lets you compose UI elements in a visual way. This is a hello world app created with PyQT5.

Ví dụ về PyQT5 Xin chào thế giới — hình ảnh của Tác giả

QT và PyQT5 là các khung trưởng thành. Vì hệ sinh thái của nó rất rộng lớn nên có thể mất một thời gian để làm chủ nó. Tuy nhiên, sẽ không khó để tìm các tài nguyên học tập miễn phí

Tuy nhiên, PyQT5 không miễn phí cho mục đích thương mại. cái tiếp theo là

Hướng dẫn PyQt5 2021, Tạo GUI Python bằng Qt

Hướng dẫn PyQt5 hoàn chỉnh này sẽ đưa bạn từ những khái niệm đầu tiên đến việc xây dựng các ứng dụng GUI đầy đủ chức năng trong Python. Nó…

www. con trăn. com

tkinter

Tkinter là một thư viện GUI Python tiêu chuẩn. Giống như Kivy và PyQT5, Tkinter cũng hoạt động trên Windows, Linux và Mac OS. Vì Tkinter sử dụng các phần tử gốc của hệ điều hành nên chúng trông giống như mọi thứ khác trên nền tảng mà nó đang chạy trên đó

Tkinter tương đối dễ học và triển khai. Nhưng hạn chế của nó là thiếu các widget nâng cao. Tuy nhiên, đây là một công cụ tuyệt vời để tạo nguyên mẫu cho ý tưởng của bạn trong một thời gian rất ngắn

Cài đặt python chính thức đi kèm với Tkinter cùng với nó. Tuy nhiên, nếu bạn đang dùng Ubuntu, bạn phải cài đặt nó theo hướng dẫn sau

$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt-get update
$ sudo apt-get install python3.9 python3-tk

Khi bạn đã cài đặt gói, bạn có thể thực thi tập lệnh python sau để tạo ứng dụng hello world

Ví dụ về Tkinter cơ bản — đoạn trích của Tác giả

Đoạn mã trên sẽ mở ra một GUI trông giống như bên dưới

Tkinter is a standard Python GUI library. It let’s you create native looking UI for Windows, OS X, and Linux. Tkinter doesn’t have much advanced widgets. But it’s a great framework for rapid prototyping. This is a basic hello world app developed using Tkinter.

Ví dụ thế giới xin chào Tkinter — hình ảnh của Tác giả

Như bạn có thể thấy, công cụ này rất đơn giản so với các công cụ trước đây của chúng tôi

Lập trình GUI Python với Tkinter - Real Python

Trong bài viết này, bạn sẽ tìm hiểu kiến ​​thức cơ bản về lập trình GUI với Tkinter, khung GUI Python thực tế. GUI chính…

trăn thật. com

suy nghĩ cuối cùng

Trong vài thập kỷ qua, Python đã mở rộng sang nhiều lãnh thổ. Ngày nay, chúng tôi sử dụng ngôn ngữ lập trình tao nhã này cho khoa học dữ liệu, tích hợp quy trình làm việc, phát triển phần mềm, v.v.

Python cũng hoàn toàn có khả năng phát triển GUI. Đó chính xác là những gì chúng tôi đã đề cập trong bài đăng này

Năm công cụ mà chúng ta đã thảo luận ở đây rất hữu ích cho hầu hết các nhu cầu phát triển GUI. Từ nguyên mẫu đến bản phát hành ứng dụng dành cho thiết bị di động đến cửa hàng Google và iOS đến ứng dụng Web. Bộ kỹ năng duy nhất bạn nên có cho tất cả các công cụ này là Python

Chọn đúng công cụ cho đúng dự án là nghệ thuật. Từ danh sách này, gợi ý của tôi như sau

  • Tìm kiếm tạo mẫu nhanh?
  • Cần thêm vật dụng?
  • Phát triển ứng dụng đa nền tảng và di động?
  • Bạn muốn xây dựng một ứng dụng web và cấp cho người dùng quyền truy cập đồng thời?
  • Cần linh hoạt hơn?

Tôi hy vọng hướng dẫn này cung cấp nhiều thông tin để chọn công cụ GUI Python cho dự án tiếp theo của bạn

Cảm ơn đã đọc, người bạn. Nói Xin chào với tôi trên LinkedIn, Twitter và Medium

Chưa phải là thành viên Medium?

Python có tốt để tạo guis không?

Mặc dù cực kỳ hữu ích cho các lĩnh vực khoa học dữ liệu và máy học, Python cũng rất tuyệt vời để phát triển giao diện người dùng đồ họa . Trên thực tế, nó có nhiều khung mà ngay cả những người mới bắt đầu cũng có thể sử dụng để dễ dàng bắt đầu phát triển GUI.

Cách tốt nhất để tạo GUI bằng Python là gì?

Sử dụng Tkinter để tạo GUI . Đó là thư viện giao diện người dùng đa nền tảng tiêu chuẩn giúp tạo GUI “dễ dàng hơn nhiều. ” Nếu bạn chưa quen với việc tạo GUI bằng Python, các bước cơ bản là. Nhập mô-đun Tkinter. nhập Tkinter, trên cùng = Tkinter. tk()