gpt4 book ai didi

javascript - Bokeh 小部件为单个事件调用 CustomJS 和 Python 回调?

转载 作者:太空狗 更新时间:2023-10-29 21:38:51 25 4
gpt4 key购买 nike

我有一个 Bokeh 应用程序,它对各种小部件事件使用 Python 回调。对于某些事件,我想在对 Python 函数进行回调之前执行一些 JavaScript 代码。这可能吗?

在这种情况下,Python 回调可能会长时间运行,我想在长时间运行的 Python 代码执行之前和之后启动和停止 Javascript 微调器对象。

最佳答案

从 Bokeh 1.0.4 开始,“忙碌”/“完成”事件(以启用诸如触发微调器或其他 UI 事件之类的事情)仍然是一个开放的功能请求。

与此同时,最好的办法是使用一些“虚拟”模型来触发 CustomJS 回调。例如,您可以添加一个不可见的字形,并触发 CustomJS 其上的任何属性作为“繁忙”事件的代理。这很笨重,但很实用。

这是一个非常粗略的大纲示例。第一个警报将立即弹出。关闭它,下一个警报将在 5 秒后弹出。

import time

from bokeh.io import curdoc
from bokeh.layouts import column
from bokeh.models import Button, CustomJS
from bokeh.plotting import figure

p = figure()
p.circle([1,2,3,4,5], [2,6,3,1,6])

dummy = p.circle([1], [2], alpha=0)
dummy.glyph.js_on_change('size', CustomJS(code="""
alert(cb_obj.size.value)
"""))

b = Button()
def cb():
dummy.glyph.size = 10
time.sleep(5)
dummy.glyph.size = 20

b.on_click(cb)

curdoc().add_root(column(b, p))

关于javascript - Bokeh 小部件为单个事件调用 CustomJS 和 Python 回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44212250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com