example_card.py 3.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. from nicegui import ui
  2. from . import svg
  3. def create():
  4. with ui.row().style('filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1))'):
  5. with ui.card().style(r'clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%)') \
  6. .classes('pb-16 no-shadow'), ui.row().classes('no-wrap'):
  7. with ui.column().classes('items-center'):
  8. svg.face().classes('w-16 mx-6 stroke-black stroke-2').on('click', lambda _: output.set_text("That's my face!"))
  9. ui.button('Click me!', on_click=lambda: output.set_text('Clicked')).classes('w-full')
  10. ui.input('Text', value='abc', on_change=lambda e: output.set_text(e.value))
  11. ui.checkbox('Check', on_change=lambda e: output.set_text('Checked' if e.value else 'Unchecked'))
  12. ui.switch('Switch', on_change=lambda e: output.set_text('Switched on' if e.value else 'Switched off'))
  13. with ui.column().classes('items-center'):
  14. output = ui.label('Try it out!') \
  15. .classes('w-44 my-6 h-8 text-xl text-grey-9 overflow-hidden text-ellipsis text-center')
  16. ui.slider(min=0, max=100, value=50, step=0.1, on_change=lambda e: output.set_text(e.value)) \
  17. .style('width: 150px; margin-bottom: 2px')
  18. with ui.row():
  19. ui.number('Number', value=3.1415927, format='%.2f', on_change=lambda e: output.set_text(e.value)) \
  20. .classes('w-20')
  21. ui.select({1: 'One', 2: 'Two', 3: 'Three'}, value=1, on_change=lambda e: output.set_text(e.value))
  22. ui.toggle(['1', '2', '3'], value='1', on_change=lambda e: output.set_text(e.value))
  23. ui.radio(['A', 'B', 'C'], value='A', on_change=lambda e: output.set_text(e.value)).props('inline')
  24. def create_narrow():
  25. with ui.row().style('filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.1))'):
  26. with ui.card().style(r'clip-path: polygon(0 0, 100% 0, 100% 90%, 0 100%)') \
  27. .classes('pb-16 no-shadow'), ui.row().classes('no-wrap'):
  28. with ui.column().classes('items-center'):
  29. svg.face().classes('w-16 mx-6 stroke-black stroke-2').on('click', lambda _: output.set_text("That's my face!"))
  30. output = ui.label('Try it out!') \
  31. .classes('w-44 my-6 h-8 text-xl text-grey-9 overflow-hidden text-ellipsis text-center')
  32. ui.button('Click me!', on_click=lambda: output.set_text('Clicked')).classes('w-full')
  33. ui.input('Text', value='abc', on_change=lambda e: output.set_text(e.value))
  34. with ui.row():
  35. ui.number('Number', value=3.1415927, format='%.2f', on_change=lambda e: output.set_text(e.value)) \
  36. .classes('w-20')
  37. ui.select({1: 'One', 2: 'Two', 3: 'Three'}, value=1, on_change=lambda e: output.set_text(e.value))
  38. ui.slider(min=0, max=100, value=50, step=0.1, on_change=lambda e: output.set_text(e.value)) \
  39. .style('width: 150px; margin-bottom: 2px')
  40. ui.toggle(['1', '2', '3'], value='1', on_change=lambda e: output.set_text(e.value))
  41. ui.radio(['A', 'B', 'C'], value='A', on_change=lambda e: output.set_text(e.value)).props('inline')
  42. ui.switch('Switch', on_change=lambda e: output.set_text('Switched on' if e.value else 'Switched off'))
  43. ui.checkbox('Check', on_change=lambda e: output.set_text('Checked' if e.value else 'Unchecked'))