Falko Schindler 4 år sedan
förälder
incheckning
29ba05d1cb
2 ändrade filer med 10 tillägg och 2 borttagningar
  1. 1 0
      main.py
  2. 9 2
      nice_gui.py

+ 1 - 0
main.py

@@ -10,6 +10,7 @@ with ui.card():
             ui.button('Click me!', on_click=lambda: output.set_text('Click'))
             ui.button('Click me!', on_click=lambda: output.set_text('Click'))
             ui.checkbox('Check me!', on_change=lambda e: output.set_text('Checked' if e.value else 'Unchecked'))
             ui.checkbox('Check me!', on_change=lambda e: output.set_text('Checked' if e.value else 'Unchecked'))
             ui.switch('Switch me!', on_change=lambda e: output.set_text('Switched' if e.value else 'Unswitched'))
             ui.switch('Switch me!', on_change=lambda e: output.set_text('Switched' if e.value else 'Unswitched'))
+            ui.slider(0, 100, on_change=lambda e: output.set_text(e.value))
         with ui.column():
         with ui.column():
             ui.radio(['A', 'B', 'C'], on_change=lambda e: output.set_text(e.value))
             ui.radio(['A', 'B', 'C'], on_change=lambda e: output.set_text(e.value))
             ui.select(['1', '2', '3'], on_change=lambda e: output.set_text(e.value))
             ui.select(['1', '2', '3'], on_change=lambda e: output.set_text(e.value))

+ 9 - 2
nice_gui.py

@@ -73,6 +73,13 @@ class Ui(Starlette):
             view.on('input', handle_exceptions(provide_arguments(on_change, 'value')))
             view.on('input', handle_exceptions(provide_arguments(on_change, 'value')))
         return Element(view)
         return Element(view)
 
 
+    def switch(self, text, on_change=None):
+
+        view = jp.QToggle(text=text)
+        if on_change is not None:
+            view.on('input', handle_exceptions(provide_arguments(on_change, 'value')))
+        return Element(view)
+
     def radio(self, options, value=None, on_change=None):
     def radio(self, options, value=None, on_change=None):
 
 
         view = jp.QOptionGroup(value=value, options=[{'label': o, 'value': o} for o in options])
         view = jp.QOptionGroup(value=value, options=[{'label': o, 'value': o} for o in options])
@@ -87,9 +94,9 @@ class Ui(Starlette):
             view.on('input', handle_exceptions(provide_arguments(on_change, 'value')))
             view.on('input', handle_exceptions(provide_arguments(on_change, 'value')))
         return Element(view)
         return Element(view)
 
 
-    def switch(self, text, on_change=None):
+    def slider(self, min, max, on_change=None):
 
 
-        view = jp.QToggle(text=text)
+        view = jp.QSlider(min=min, max=max)
         if on_change is not None:
         if on_change is not None:
             view.on('input', handle_exceptions(provide_arguments(on_change, 'value')))
             view.on('input', handle_exceptions(provide_arguments(on_change, 'value')))
         return Element(view)
         return Element(view)