
代码:
from nicegui import ui
with ui.menu() as menu:
ui.label('设置面板').style('font-weight: bold;')
ui.separator()
with ui.grid(columns=3):
for name in ['功能A', '功能B', '功能C', '功能D', '功能E', '功能F']:
with ui.row().classes('items-center'):
ui.label(name).classes('text-sm mr-2')
ui.toggle(['关', '开'], value='关').props('dense')
ui.separator()
with ui.grid(columns=2).classes('w-full'):
ui.button('保存', on_click=lambda: ui.notify('保存成功'),
icon='save', color='positive')
ui.button('取消', on_click=menu.close, icon='close', color='negative')
ui.label('右键菜单').context_menu = menu
ui.run()

代码:
from nicegui import ui
with ui.menu() as menu:
ui.label('综合菜单').style('font-size: 16px; font-weight: bold;')
ui.separator()
ui.label('图片预览').classes('text-sm')
ui.image('https://via.placeholder.com/150x80').classes('w-full rounded')
ui.separator()
ui.label('用户输入').classes('text-sm')
name_input = ui.input(placeholder='请输入姓名').classes('w-full')
ui.label('邮箱').classes('text-sm mt-2')
email_input = ui.input(placeholder='example@mail.com').classes('w-full')
ui.separator()
with ui.grid(columns=2).classes('w-full gap-2'):
ui.button('提交',
on_click=lambda: ui.notify(f'提交: {name_input.value}, {email_input.value}'),
icon='send',
color='positive')
ui.button('清除',
on_click=lambda: (setattr(name_input, 'value', ''), setattr(email_input, 'value', '')),
icon='clear',
color='warning')
ui.button('关闭',
on_click=menu.close,
icon='close',
color='negative')
ui.button('帮助',
on_click=lambda: ui.notify('帮助信息'),
icon='help',
color='info')
ui.label('右键点击此处').context_menu = menu
ui.button('点击显示菜单', on_click=lambda e: menu.open(e))
ui.run()