浏览代码

update ui.slider

Falko Schindler 2 年之前
父节点
当前提交
7104637e01
共有 3 个文件被更改,包括 12 次插入12 次删除
  1. 3 3
      api_docs_and_examples.py
  2. 8 9
      nicegui/elements/slider.py
  3. 1 0
      nicegui/ui.py

+ 3 - 3
api_docs_and_examples.py

@@ -107,7 +107,7 @@ NiceGUI comes with a collection of commonly used UI elements.
     @example('''#### Value Binding
     @example('''#### Value Binding
 
 
 Binding values between UI elements or [to data models](http://127.0.0.1:8080/reference#bindings) is built into NiceGUI.
 Binding values between UI elements or [to data models](http://127.0.0.1:8080/reference#bindings) is built into NiceGUI.
-''', tight=True)
+''', tight=True, skip=False)
     def binding_example():
     def binding_example():
         slider = ui.slider(min=0, max=100, value=50)
         slider = ui.slider(min=0, max=100, value=50)
         ui.number('Value').bind_value(slider, 'value').classes('fit')
         ui.number('Value').bind_value(slider, 'value').classes('fit')
@@ -170,7 +170,7 @@ def create_full() -> None:
         switch = ui.switch('switch me')
         switch = ui.switch('switch me')
         ui.label('Switch!').bind_visibility_from(switch, 'value')
         ui.label('Switch!').bind_visibility_from(switch, 'value')
 
 
-    # @example(ui.slider)
+    @example(ui.slider, skip=False)
     def slider_example():
     def slider_example():
         slider = ui.slider(min=0, max=100, value=50).props('label')
         slider = ui.slider(min=0, max=100, value=50).props('label')
         ui.label().bind_text_from(slider, 'value')
         ui.label().bind_text_from(slider, 'value')
@@ -592,7 +592,7 @@ Binding is possible for UI element properties like text, value or visibility and
 Each element provides methods like `bind_value` and `bind_visibility` to create a two-way binding with the corresponding property.
 Each element provides methods like `bind_value` and `bind_visibility` to create a two-way binding with the corresponding property.
 To define a one-way binding use the `_from` and `_to` variants of these methods.
 To define a one-way binding use the `_from` and `_to` variants of these methods.
 Just pass a property of the model as parameter to these methods to create the binding.
 Just pass a property of the model as parameter to these methods to create the binding.
-''')
+''', skip=False)
     def bindings_example():
     def bindings_example():
         class Demo:
         class Demo:
             def __init__(self):
             def __init__(self):

+ 8 - 9
nicegui/elements/old/slider.py → nicegui/elements/slider.py

@@ -1,18 +1,16 @@
 from typing import Callable, Optional
 from typing import Callable, Optional
 
 
-import justpy as jp
+from .mixins.value_element import ValueElement
 
 
-from .float_element import FloatElement
 
 
-
-class Slider(FloatElement):
+class Slider(ValueElement):
 
 
     def __init__(self, *,
     def __init__(self, *,
                  min: float,
                  min: float,
                  max: float,
                  max: float,
-                 step: float = 1,
+                 step: float = 1.0,
                  value: float = None,
                  value: float = None,
-                 on_change: Optional[Callable] = None):
+                 on_change: Optional[Callable] = None) -> None:
         """Slider
         """Slider
 
 
         :param min: lower bound of the slider
         :param min: lower bound of the slider
@@ -21,6 +19,7 @@ class Slider(FloatElement):
         :param value: initial value to set position of the slider
         :param value: initial value to set position of the slider
         :param on_change: callback which is invoked when the user releases the slider
         :param on_change: callback which is invoked when the user releases the slider
         """
         """
-        view = jp.QSlider(min=min, max=max, step=step, change=self.handle_change, disable_input_event=True, temp=False)
-
-        super().__init__(view, value=value, on_change=on_change)
+        super().__init__(tag='q-slider', value=value, on_value_change=on_change)
+        self._props['min'] = min
+        self._props['max'] = max
+        self._props['step'] = step

+ 1 - 0
nicegui/ui.py

@@ -21,6 +21,7 @@ from .elements.radio import Radio as radio
 from .elements.row import Row as row
 from .elements.row import Row as row
 from .elements.select import Select as select
 from .elements.select import Select as select
 from .elements.separator import Separator as separator
 from .elements.separator import Separator as separator
+from .elements.slider import Slider as slider
 from .elements.switch import Switch as switch
 from .elements.switch import Switch as switch
 from .elements.toggle import Toggle as toggle
 from .elements.toggle import Toggle as toggle
 from .elements.tooltip import Tooltip as tooltip
 from .elements.tooltip import Tooltip as tooltip