ipywidgets.widgets和traitlets的几个函数的含义

    科技2026-04-24  2

    1.ipywidgets.widgets的几个应用

    执行下面的代码前提要:import ipywidgets.widgets as widgets

    a.文本1

    widgets.Text(value='HELLO WORLD',placeholder='Type something',description='String',disable=False)

    执行结果:

    b.文本2

    widgets.Textarea(value='HELLO WORLD',placeholder='Type something',description='String',disable=False)

    执行结果:

    c.滑块

    left_slider = widgets.FloatSlider(description = 'left',min = -1.0,max=1.0,step = 0.01,orientation='vertical') right_slider = widgets.FloatSlider(description = 'right',min = -1.0,max=1.0,step = 0.01,orientation='vertical') slider_container = widgets.HBox([left_slider,right_slider]) display(slider_container)

    执行结果:

    d.按钮

    button_layout = widgets.Layout(width='100px',height='80px',align_self='center') stop_button = widgets.Button(description='stop',button_style='danger',layout=button_layout) forward_button = widgets.Button(description='forward',layout=button_layout) backward_button = widgets.Button(description='backward',layout=button_layout) left_button = widgets.Button(description='left',layout=button_layout) right_button = widgets.Button(description='right',layout=button_layout) middle_box = widgets.HBox([left_button,stop_button,right_button],layout=widgets.Layout(align_self='center')) controls_box = widgets.VBox([forward_button,middle_box,backward_button]) display(controls_box)

    执行结果:

    2.traitlets

    a. traitlets.link

    import traitlets left_link = traitlets.link((left_slider, 'value'), (robot.left_motor, 'value')) right_link = traitlets.link((right_slider, 'value'), (robot.right_motor, 'value'))

    traitlets.link连接左右滑块和左右电机,使得操作左右滑块能够实时控制左右电机,同时左右电机值改变,左右滑块也会变化。相当于双向链接。 注:left_link.unlink表示断开二者链接

    b. traitlets.dlink

    import traitlets left_link = traitlets.dlink((robot.left_motor, 'value'), (left_slider, 'value')) right_link = traitlets.dlink((robot.right_motor, 'value'), (right_slider, 'value'))

    traitlets.dlink连接左右滑块和左右电机,使得左右滑块能够实时显示左右电机值,但是左右滑块并不能用来控制电机。相当于单向链接,只作为显示。

    Processed: 0.010, SQL: 10