首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >holoviz/param/panel:通过python回调更新Str或HTML窗格

holoviz/param/panel:通过python回调更新Str或HTML窗格
EN

Stack Overflow用户
提问于 2021-01-08 18:33:38
回答 1查看 315关注 0票数 1

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

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

代码语言:javascript
复制
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()

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

代码语言:javascript
复制
pn.Row(instance.param.letter, instance.text)

产量:

但是,当我在下拉列表中选择另一个条目时,右边的文本不会被更新:

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

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

理想情况下,这个答案也应该适用于panel.pane.HTMLpanel.pane.Str

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-08 21:50:14

我在jupyter笔记本上尝试了你的代码,它起作用了:当下拉列表发生变化时,文本会被更新。

如果我在我的实验室里试一试,它不工作,但我有更多的这种情况。我觉得对我来说,这是一个简单的版本/安装程序。

所以我认为你的代码是正确的。您可以尝试更新您的jupyter笔记本或您的面板或param包。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65634571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档