简介
NiceGUI是一个易于使用的基于Python的UI框架,可以在您的Web浏览器中使用。您可以创建按钮、对话框、Markdown、3D场景、图表等等。
NiceGUI开源支持较好,代码更新频率较高,目前已经更新至: V1.4.26。
适用场景
NiceGUI非常适用于各种场景,包括微型Web应用程序、仪表板、机器人项目、智能家居解决方案等。甚至在开发过程中,例如调整和配置机器学习算法或调整电机控制器时,也能发挥重要作用。
主要功能
NiceGUI提供了丰富的功能,使得开发者能够轻松创建出各种复杂的用户界面:
-
基于浏览器的图形用户界面: NiceGUI以网页形式呈现,通过浏览器访问,便捷直观。
-
隐式重新加载: 在代码更改时,NiceGUI会自动重新加载页面,省去手动刷新的麻烦。
-
灵活的运行模式: 可以作为Web服务器运行,也可以在本地模式下以桌面窗口的形式展现。
-
丰富的标准GUI元素: 包括标签、按钮、复选框、开关、滑块、输入框、文件上传等,满足各种常见需求。
-
简单分组: 可以使用行、列、卡片和对话框等简单组件进行布局分组。
-
HTML和Markdown支持: 支持通用的HTML和Markdown元素,使得界面呈现更加灵活多样。
-
强大的高级元素: 包括绘制图形和图表、渲染3D场景、与表格交互、嵌入视频和音频文件等功能。
-
内置计时器: 可以设置定时器以在指定间隔内刷新数据,实现动态更新。
-
直观的数据绑定: 支持数据绑定和可刷新函数,减少编写的代码量。
-
用户交互体验优化: 提供通知、对话框和菜单等功能,提升用户体验。
-
灵活的持久性支持: 支持每用户和通用的持久性,方便数据的保存和管理
-
定制化能力: 可以添加自定义路由和数据响应,自定义界面和行为。
-
全局快捷键支持: 可以捕获键盘输入,实现全局快捷键等功能。
-
外观定制: 可以通过定义主要、次要和强调色彩,定制界面外观。
-
Jupyter Notebooks支持: 可以在Jupyter Notebooks中运行,方便数据分析和实验。
-
自动完成支持: 对Tailwind CSS提供自动完成支持,提高开发效率。
-
测试框架: 基于pytest的测试框架,确保代码质量和稳定性。
-
NiceGUI提供了大量例程,供学习参考。
安装
NiceGUI提供多种获取方式,包括PyPI包、Docker镜像、conda-forge以及GitHub。您可以根据自己的偏好选择合适的获取途径。
您可以通过以下方式安装NiceGUI:
使用
编写您的NiceGUI代码,并将其保存在一个名为main.py
的文件中:
然后通过以下方式启动NiceGUI:
现在可以通过浏览器中的http://localhost:8080/ 访问您的GUI。注意:NiceGUI支持热加载,当您修改代码时,NiceGUI会自动重新加载页面。
总结
NiceGUI是一个功能丰富、易于使用的Python UI框架,能够在Web浏览器中展现出各种GUI元素。开发者可以更轻松地编写少量代码来实现各种功能。NiceGUI还支持自定义外观、生命周期事件和会话数据管理,以及在Jupyter笔记本中运行。通过安装简单,只需一行命令即可轻松启动,然后即可通过浏览器访问GUI界面。
项目地址:https://github.com/zauberzeug/nicegui