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 的交互模式。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目