【问题标题】:holoviz/param/panel: updating Str or HTML panes via python callbackholoviz/param/panel:通过 python 回调更新 Str 或 HTML 窗格
【发布时间】:2021-01-08 18:33:38
【问题描述】:

我想知道是否有办法通过 python 回调更新panel 窗格内容。

如果我通过以下方式定义 Parameterized 自定义类:

import panel as pn
pn.extension()
import param

class Myclass(param.Parameterized):
    letter = param.ObjectSelector(
        objects=['a', 'b', 'c', 'd'],
        default='b',        
    )
    
    @param.depends('letter')
    def text(self):
        return(pn.pane.Str(self.letter))
    
instance = Myclass()

如果我在笔记本中输出这个实例,我会得到以下信息:

pn.Row(instance.param.letter, instance.text)

产量:

但是,当我在下拉列表中选择另一个条目时,右侧的文本没有更新:

我知道参数已经更新,并且text 回调被触发(通过调试)。然而,我的笔记本没有更新。

我觉得这个例子和文档中的正弦波例子很相似(https://panel.holoviz.org/user_guide/Param.html),但是我不明白我做错了什么......

理想情况下,答案也应与panel.pane.HTMLpanel.pane.Str 一起使用。

【问题讨论】:

    标签: python holoviz panel-pyviz param-pyviz


    【解决方案1】:

    我在 jupyter notebook 中尝试了你的代码,它可以工作:当下拉列表更改时,文本会更新。

    如果我在我的 jupyter 实验室尝试它,它不起作用,但我更经常这样做。我认为这是一个 jupyter 版本/安装的东西。

    所以我认为你的代码是正确的。您可以尝试更新您的 jupyter notebook 或面板或参数包。

    【讨论】:

    • 我无法确定确切的问题是什么,但我终于设法让我的代码正常工作。我更新了panel,但我很确定它本身并不能解决我最初的问题。无论如何,它现在正在工作,所以让我们结束这个问题。再次感谢桑德。
    猜你喜欢
    • 2022-11-08
    • 2012-04-02
    • 2020-05-26
    • 1970-01-01
    • 1970-01-01
    • 2016-09-01
    • 2020-07-14
    • 2016-11-23
    • 1970-01-01
    相关资源
    最近更新 更多