NiceGUI 是一个易于使用、基于 Python 的 UI 框架,它显示在您的 Web 浏览器中。您可以创建按钮、对话框、Markdown、3D 场景、绘图等等。
它非常适合微型网络应用程序、仪表板、机器人项目、智能家居解决方案和类似的用例。您还可以在开发中使用它,例如在调整/配置机器学习算法或调整电机控制器时。
NiceGUI 以 PyPI 包、Docker 镜像的形式在 conda-forge 和 GitHub 上提供。
python3 -m pip install nicegui
在文件main.py
中编写你漂亮的 GUI:
from nicegui import ui
ui . label ( 'Hello NiceGUI!' )
ui . button ( 'BUTTON' , on_click = lambda : ui . notify ( 'button was pressed' ))
ui . run ()
启动它:
python3 main.py
现在可以通过浏览器中的 http://localhost:8080/ 访问 GUI。注意:当您修改代码时,NiceGUI 会自动重新加载页面。
该文档托管在 https://nicegui.io/documentation 并提供了大量的现场演示。 https://nicegui.io 的全部内容是用 NiceGUI 本身实现的,可以使用docker run -p 8080:8080 zauberzeug/nicegui
或通过从该存储库执行main.py
在本地启动。
您还可以查看我们关于使用 NiceGUI 可以做什么的深入示例。在我们的 wiki 中,我们列出了来自社区的优秀 NiceGUI 项目、教程部分、不断增长的常见问题解答列表以及一些使用 ChatGPT / LLM 获取有关 NiceGUI 帮助的策略。
Zauberzeug 的我们喜欢 Streamlit,但发现它在状态处理方面发挥了太多魔力。在寻找一个替代的优秀库来用 Python 编写简单的图形用户界面时,我们发现了 JustPy。尽管我们喜欢这种方法,但对于我们的日常使用来说,它太“低级 HTML”了。但它启发我们使用 Vue 和 Quasar 作为前端。
我们建立在 FastAPI 之上,FastAPI 本身基于 ASGI 框架 Starlette 和 ASGI 网络服务器 Uvicorn,因为它们具有出色的性能和易用性。
所有贡献者和赞助商使该项目的维护成为可能。如果您想支持该项目并让您的头像或公司徽标出现在下面,请赞助我们。 ?
您自己考虑一下这种低门槛的贡献形式。非常感谢您的支持。
感谢您有兴趣为 NiceGUI 做出贡献!我们很高兴您的加入,并感谢您为使该项目变得更好而付出的努力。
作为一个不断发展的开源项目,我们知道需要社区的努力才能实现我们的目标。这就是为什么我们欢迎各种贡献,无论贡献大小。无论是添加新功能、修复错误、改进文档还是提出新想法,我们相信每一项贡献都很重要,并为我们的项目增加价值。
我们在 CONTRIBUTING.md 文件中提供了有关如何为 NiceGUI 做出贡献的详细指南。我们鼓励您在做出任何贡献之前仔细阅读它,以确保您的工作符合项目的目标和标准。
如果您有任何疑问或需要任何帮助,请随时与我们联系。我们始终在这里支持并指导您完成贡献过程。
有关 NiceGUI 所依赖的 Web 框架的列表,请参阅 DEPENDENCIES.md。