NiceGUI:用 Python 给脚本做网页界面
内容摘要
NiceGUI 是一个开源 Python 界面框架,可用 Python 编写按钮、表格、图表和交互逻辑,再在浏览器中打开。它适合给内部脚本加个操作页面,或制作小型数据看板。已有项目升级时要检查文本输入清空后的返回值。
用 Python 写网页界面
写好 Python 脚本后,如果要给同事演示、调试机器学习算法参数,或者为机器人和智能家居项目做一个控制面板,往往需要额外编写前端页面。NiceGUI 直接用 Python 代码生成图形界面,省去了单独搭建前端工程的步骤。
除了文本标签、按钮、输入框、滑块、文件上传、行列卡片布局和对话框等基础控件,它还内置了多种适合工程与数据场景的高阶组件:
- 数据可视化与表格:直接绘制图表、渲染 3D 场景、展示可折叠的树状结构,或与数据表格交互。
- 多媒体与图像标注:在界面中嵌入音视频文件,或直接在图片上做标注和图层叠加。
- 硬件与高频交互:提供虚拟摇杆用于获取转向控制事件,也能用内置定时器定期更新读数。
兼顾网页服务与本地开发
默认情况下,运行脚本会启动一个本地 Web 服务,通过浏览器访问即可看到界面;如果需要独立客户端体验,也可以切换为原生模式,直接以桌面窗口的形式打开。开发过程中修改并保存 Python 代码,页面会自动重载。
在实际项目集成方面,它支持数据绑定和局部刷新,减少维护界面状态的代码量。开发者可以配置单用户或全局的数据持久化、添加自定义路由、捕获全局键盘快捷键,并支持 Tailwind CSS 自动补全以及基于 pytest 的自动化测试。此外,它也能在 Jupyter Notebook 和 Python 交互式环境中直接运行。
安装方式与大版本升级提醒
项目可通过 pip、conda-forge 安装,或直接使用官方 Docker 镜像运行。如果平时习惯借助 AI 编程助手写代码,软件包内还自带了精简的参考说明文档,方便直接提供给 AI 读取上下文。
近期发布的 4.0 大版本新增了对 Python 3.15 的支持,同时清理了 3.x 时期已弃用的旧接口并更新了内置 JavaScript 库。从旧版本升级时需要注意:文本类输入框清空后的值统一改为了空字符串,不再返回 None,部分调整不会直接报错,升级既有项目前建议先核对官方迁移指南。
资料来源
MIT 开源框架
资料核对于 2026年11月12日