适用场景

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:

python3 -m pip install nicegui

使用

编写NiceGUI代码,并将其保存在一个名为main.py的文件中:

from nicegui import ui

ui.label('Hello NiceGUI!')
ui.button('BUTTON', on_click=lambda: ui.notify('button was pressed'))

ui.run()

然后通过以下方式启动NiceGUI:

python3 main.py

现在可以通过浏览器中的http://localhost:8080/ 访问GUI。

注意:NiceGUI支持热加载,当修改代码时,NiceGUI会自动重新加载页面。

总结

NiceGUI是一个功能丰富、易于使用的Python UI框架,能够在Web浏览器中展现出各种GUI元素。开发者可以更轻松地编写少量代码来实现各种功能。NiceGUI还支持自定义外观、生命周期事件和会话数据管理,以及在Jupyter笔记本中运行。通过安装简单,只需一行命令即可轻松启动,然后即可通过浏览器访问GUI界面。

项目地址:https://github.com/zauberzeug/nicegui