Plotly Dash dcc.Interval 禁用布尔文档
Plotly Dash dcc.Interval Disabled Boolean Documentation
尝试确定此 dcc.interval 禁用布尔值 属性 是否是禁用回调函数的唯一方法。如果是这样,我是否只需将它添加到 html.div 并出现一个按钮?文档似乎不是很清楚。我没有在任何地方看到它的用法示例。
有这么简单吗:
app.layout = html.Div(
html.Div([
#html.H4('my dash/plotly graph'),
dcc.Graph(id='live-update-graph'),
dcc.Interval(
id='interval-component',
interval=1*1000, # in milliseconds
n_intervals=0,
--> disabled=False <--
)
])
)
并且出现了 a 按钮,还是涉及更多?比如设置一个按钮,在回调装饰器中设置你的 inputs/ouputs 等等?
如果是这样,似乎只是想停止回调。
在底部编辑
无论您连接什么回调函数来监听间隔组件,都会在您设置间隔时触发。如果你想停止那个回调,你需要一种方法来将间隔的 disabled
属性设置为 False
。您可以通过创建一个带有回调的按钮来更新该道具,每次用户单击它时,该功能都会切换道具是 True
还是 False
.
And the a button appears, or is it more involved? Like setting a button, setting your inputs/ouputs in the callback decorator and so on?
The latter. You'd have to rig everything up yourself.
您希望在什么情况下停止回调?你真的想要一个永远 运行 的间隔,每 X 秒更新一次吗?如果您改为手动触发回调,您的应用程序会更好地运行吗?设置起来可能会更少。
禁用间隔的回调示例:
在你的布局中有这样的东西:
html.Button(id='start-stop-button', label='Start/Stop')
@app.callback(
Output('interval-component', 'disabled'),
[Input('start-stop-button', 'n_clicks')],
[State('interval-component', 'disabled')],
)
def callback_func_start_stop_interval(button_clicks, disabled_state):
if button_clicks is not None and button_clicks > 0:
return not disabled_state
else:
return disabled_state
尝试确定此 dcc.interval 禁用布尔值 属性 是否是禁用回调函数的唯一方法。如果是这样,我是否只需将它添加到 html.div 并出现一个按钮?文档似乎不是很清楚。我没有在任何地方看到它的用法示例。
有这么简单吗:
app.layout = html.Div(
html.Div([
#html.H4('my dash/plotly graph'),
dcc.Graph(id='live-update-graph'),
dcc.Interval(
id='interval-component',
interval=1*1000, # in milliseconds
n_intervals=0,
--> disabled=False <--
)
])
)
并且出现了 a 按钮,还是涉及更多?比如设置一个按钮,在回调装饰器中设置你的 inputs/ouputs 等等?
如果是这样,似乎只是想停止回调。
在底部编辑
无论您连接什么回调函数来监听间隔组件,都会在您设置间隔时触发。如果你想停止那个回调,你需要一种方法来将间隔的 disabled
属性设置为 False
。您可以通过创建一个带有回调的按钮来更新该道具,每次用户单击它时,该功能都会切换道具是 True
还是 False
.
And the a button appears, or is it more involved? Like setting a button, setting your inputs/ouputs in the callback decorator and so on? The latter. You'd have to rig everything up yourself.
您希望在什么情况下停止回调?你真的想要一个永远 运行 的间隔,每 X 秒更新一次吗?如果您改为手动触发回调,您的应用程序会更好地运行吗?设置起来可能会更少。
禁用间隔的回调示例:
在你的布局中有这样的东西:
html.Button(id='start-stop-button', label='Start/Stop')
@app.callback(
Output('interval-component', 'disabled'),
[Input('start-stop-button', 'n_clicks')],
[State('interval-component', 'disabled')],
)
def callback_func_start_stop_interval(button_clicks, disabled_state):
if button_clicks is not None and button_clicks > 0:
return not disabled_state
else:
return disabled_state