Python Gui新框架:NiceGui之初体验

作者:J.sky · 发表于:
2023-07-19T09:37:40.000000Z
· 更新于:
2023-08-13T22:54:57.642618Z
· Tag: python Python GUI NiceGui

对于使用python的朋友,对于python的gui总是有一种不满意的情绪,确实,python下边没有什么太出色的GUI框架,或多或少都有些不足或是遗憾吧,不过这阵子NiceGui逐渐的火起来了,赶紧试试吧.

安装

NiceGui的安装很简单:

pip3 install nicegui

然后,我们创建一个main.py的python文件,复制如下代码:

from nicegui import ui
from nicegui.events import ValueChangeEventArguments


def show(event: ValueChangeEventArguments):
    name = type(event.sender).__name__
    ui.notify(f'{name}: {event.value}')


ui.button('Button', on_click=lambda: ui.notify('Click'))
with ui.row():
    ui.checkbox('Checkbox', on_change=show)
    ui.switch('Switch', on_change=show)
ui.radio(['A', 'B', 'C'], value='A', on_change=show).props('inline')
with ui.row():
    ui.input('Text input', on_change=show)
    ui.select(['One', 'Two'], value='One', on_change=show)
ui.link('And many more...', '/documentation').classes('mt-8')

ui.run()

然后运行:

python main.py

这时候会打开一个浏览器窗口,对,NiceGui是基于web的图形界面,她的后端是fastapi,前端有tailwindcss加特,界面效果还是很不错,而且风格是google Material-UI,眼前一亮吧!

总结

NiceGUI的代码简洁实用,事件接口也很直观,符合python的一贯风格,对于一些有GUI需求的应用可以尝试一下,上手简单方便,快试试吧。