当另一个正在运行时,是否可以更新param / panel小部件?

时间:2019-10-14 23:47:30

标签: pyviz

当我进行一些缓慢的网络通话时,我希望在面板应用程序中出现某种进度条或微调框,类似于:

class MyApp(param.Parameterized):
    div = Div(text="", width=120, height=120)
    plot = param.Action(lambda self: self.param.trigger('plot'))

    def _load(self):
        self.div.text = spinner_text
        sleep(5) # simulate work such as loading from db
        return 1 # some data

    @param.depends('plot', watch=True)
    def view(self):
        data = self._load()
        plot = data.hvplot()
        return pn.Row(self.div, plot)

app = MyApp()
pn.Row(MyApp.param, app.view)

(微调框文本是来自bokeh/issues/3393的CSS)

但是,小部件直到睡眠完成后才更新。在长时间运行的计算运行期间,是否可以通过某种方式向用户显示进度条或类似的信息?

我当前正在使用

bokeh==1.3.4
panel==0.6.3
param==1.9.2

0 个答案:

没有答案