main.py 858 B

1234567891011121314151617181920212223242526272829
  1. #!/usr/bin/env python3
  2. from pathlib import Path
  3. from nicegui import app, ui
  4. from nicegui.events import KeyEventArguments
  5. ui.query('.nicegui-content').classes('p-0') # remove padding from the main content
  6. folder = Path(__file__).parent / 'slides' # image source: https://pixabay.com/
  7. files = sorted(f.name for f in folder.glob('*.jpg'))
  8. index = 0
  9. def handle_key(event: KeyEventArguments) -> None:
  10. global index
  11. if event.action.keydown:
  12. if event.key.arrow_right:
  13. index += 1
  14. if event.key.arrow_left:
  15. index -= 1
  16. index = index % len(files)
  17. slide.set_source(f'slides/{files[index]}')
  18. app.add_static_files('/slides', folder) # serve all files in this folder
  19. slide = ui.image(f'slides/{files[index]}') # show the first image
  20. ui.keyboard(on_key=handle_key) # handle keyboard events
  21. ui.run()