【问题标题】:observe method of ipywidget slider doesn't work观察 ipywidget 滑块的方法不起作用
【发布时间】:2019-02-22 19:58:30
【问题描述】:

我正在尝试在滑块更改时调用函数,同时它随着动画而变化。而且它不起作用,只有当我通过鼠标手动更改时它才会调用函数。这是我的代码:

import ipywidgets as widgets
    
play = widgets.Play(
    value=0,
    min=0,
    max=100,
    step=1,
    description="Press play",
    disabled=False)

slider = widgets.IntSlider(description="Slides")
   
def on_value_change(change):
    print(change['new'])
        
slider.observe(on_value_change, names='value') 
widgets.jslink((play, 'value'), (slider, 'value'))
widgets.HBox([play, slider])

你能帮我管理一下吗?

【问题讨论】:

    标签: jupyter-notebook ipywidgets


    【解决方案1】:

    从这个问题 (https://github.com/jupyter-widgets/ipywidgets/issues/1775) 看来,函数的输出需要在输出小部件中捕获。请参阅 Jason Grout 的示例:

    import ipywidgets as widgets
    
    out = widgets.Output()
    def on_value_change(change):
        with out:
            print(change['new'])
    
    slider = widgets.IntSlider(min=1, max=100, step=1, continuous_update=True)
    play = widgets.Play(min=1, interval=2000)
    
    slider.observe(on_value_change, 'value')
    widgets.jslink((play, 'value'), (slider, 'value'))
    widgets.VBox([play, slider, out])
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多