nice_gui.py 703 B

123456789101112131415161718192021222324252627282930
  1. import traceback
  2. import justpy as jp
  3. from icecream import ic
  4. class NiceGui():
  5. def __init__(self):
  6. self.index = jp.WebPage(delete_flag=False)
  7. def build():
  8. return self.index
  9. jp.justpy(build, start_server=False)
  10. self.app = jp.app
  11. def label(self, text):
  12. p = jp.P(text=text, a=self.index, classes='w-48 text-xl p-1 m-2')
  13. def button(self, text, on_click=None):
  14. def click(self, _):
  15. try:
  16. on_click(self)
  17. except:
  18. traceback.print_exc()
  19. d = jp.Div(text=text, a=self.index, classes='w-48 text-xl m-2 p-1 bg-blue-700 text-white text-center')
  20. d.on('click', click)