滑块#
这个元素是基于Quasar的QSlider组件。
min
:滑块的下界max
:滑块的上界step
:步长value
:设置滑块初始位置的值on_change
:当用户释放滑块时调用的回调函数
from nicegui import ui
slider = ui.slider(min=0, max=100, value=50)
ui.label().bind_text_from(slider, 'value')
# ui.run()
<nicegui.elements.label.Label at 0x7f3be6b1f9d0>
限制事件的触发频率,包括首尾事件选项#
默认情况下,滑块的值改变事件被限制为0.05秒。这意味着如果你快速移动滑块,值只会每0.05秒更新一次。
默认情况下,”首部”和”尾部”事件都是激活的。这意味着第一个事件会立即触发,最后一个事件会在限制时间后触发。
这个示例展示了禁用这些选项中的任何一个是如何改变行为的。为了更清楚地看到效果,限制时间设置为1秒。第一个滑块显示默认行为,第二个只发送首部事件,第三个只发送尾部事件。
from nicegui import ui
ui.label('default')
ui.slider(min=0, max=10, step=0.1, value=5).props('label-always') \
.on('update:model-value', lambda e: ui.notify(e.args),
throttle=1.0)
ui.label('leading events only')
ui.slider(min=0, max=10, step=0.1, value=5).props('label-always') \
.on('update:model-value', lambda e: ui.notify(e.args),
throttle=1.0, trailing_events=False)
ui.label('trailing events only')
ui.slider(min=0, max=10, step=0.1, value=5).props('label-always') \
.on('update:model-value', lambda e: ui.notify(e.args),
throttle=1.0, leading_events=False)
# ui.run()
<nicegui.elements.slider.Slider at 0x7f3ba4385360>
禁用滑块#
您可以使用 disable()
方法来禁用滑块。这将阻止用户移动滑块。滑块也会变成灰色。
from nicegui import ui
slider = ui.slider(min=0, max=100, value=50)
ui.button('Disable slider', on_click=slider.disable)
ui.button('Enable slider', on_click=slider.enable)
# ui.run()
<nicegui.elements.button.Button at 0x7f3ba4387d60>