Holoviz/Param/Panel :是否可以更改、隐藏或删除参数化类中包含参数的参数面板的标题?

问题描述

我按照以下方式定义了一个自定义 Parameterized 类:

class Myclass(param.Parameterized):

    var1 = param.ObjectSelector(
        objects=['A','B','C'],default='B',label='Param1',)

    seg3 = param.ObjectSelector(
        objects={
            'First group': 'ZK','Second one': 'ZL',},default='ZL',label='Groups',)

每当我想实例化这个类并生成一个带有小部件的窗格来选择参数时,根据文档,我使用以下内容

instance = Myclass()
pn.panel(instance.param)

这给了我以下输出

Panel with widget and title

我想知道如何修改认为类名的标题?理想情况下,它应该在 pn.panel(...) 级别,因为我希望控制特定标题,如果我将这些小部件拆分为多个窗格。

见:

pn.Row(
    pn.panel(
        instance.param,parameters=['var1']
    ),pn.panel(
        instance.param,parameters=['seg3']
    )
)

产生(我想为每个窗格指定自定义标题):

Panel split in two

解决方法

您可以按如下方式更改名称:

instance = Myclass(name='Different Name')

这会导致您的情况如下:

panel pyviz app name changed

请注意,不使用pn.panel()也可以获取参数如下:

pn.Row(
    instance.param.var1,instance.param.seg3,)

例如,如果您不想看到名称而只想使用 pn.pane.HTML() 之类的内容添加不同的标题,则可以执行此操作。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...