zauberzeug/nicegui

Create web-based user interfaces with Python. The nice way.

解決的問題

NiceGUI 為 Python 開發人員提供了一種無需編寫 HTML、CSS 或 JavaScript 即可建立基於 Web 的圖形使用者介面 (GUI) 的方法。它簡化了儀表板、微型 Web 應用程式以及機器人或機器學習演算法控制面板的建立過程,消除了傳統 Web 開發的複雜性。

工作原理

NiceGUI 採用後端優先的理念,所有的 UI 邏輯都使用 Python 編寫。它利用 FastAPI、Starlette 和 Uvicorn 作為後端,同時使用 Vue 和 Quasar 作為前端。Python 後端與瀏覽器之間的通訊透過 WebSockets (socket.io) 處理,允許後端即時向 UI 推送更新。

適用對象

專為需要快速為 Python 專案建立介面的開發人員設計,特別是那些從事機器人技術、智慧家庭自動化和機器學習開發(例如,用於調整演算法或微調馬達控制器)的開發人員。

亮點

  • 基於瀏覽器的 GUI:直接從 Python 建立按鈕、對話框、3D 場景和圖表。
  • 隱含重新載入:程式碼修改後,頁面會自動重新載入。
  • 高階元件:內建對 3D 場景、用於轉向事件的虛擬搖桿和圖像註釋的支持。
  • 靈活的部署:可以作為 Web 伺服器或原生桌面視窗執行。
  • Jupyter 支援:相容於 Jupyter Notebook 和 Python 的互動模式。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案