当另一个笔记本单元格正在执行时,小部件回调不会触发
Widget callback does not fire while another notebook cell is executing
我有一个单元格生成一个按钮,单击时调用一个函数:
stop_button = widgets.Button(description='Stop Motor')
stop_button.on_click(stop_motor)
然而,当另一个单元格正在执行时,不会触发按钮的回调(即使按钮似乎响应点击)。
我能否使按钮始终有效,即使在执行另一个单元格时也是如此?
我不确定这是最佳答案,但我将我的 longer-running 任务设为异步:
%gui asyncio
import asyncio
async def work():
while True:
await asyncio.sleep(0.1)
task = asyncio.create_task(work())
但是,您需要对每个可能会阻止您单击按钮的单元格重复此模式。
我有一个单元格生成一个按钮,单击时调用一个函数:
stop_button = widgets.Button(description='Stop Motor')
stop_button.on_click(stop_motor)
然而,当另一个单元格正在执行时,不会触发按钮的回调(即使按钮似乎响应点击)。
我能否使按钮始终有效,即使在执行另一个单元格时也是如此?
我不确定这是最佳答案,但我将我的 longer-running 任务设为异步:
%gui asyncio
import asyncio
async def work():
while True:
await asyncio.sleep(0.1)
task = asyncio.create_task(work())
但是,您需要对每个可能会阻止您单击按钮的单元格重复此模式。