2

我通过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)

这给了我以下输出:

带有小部件和标题的面板

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

看:

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

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

面板一分为二

4

1 回答 1

3

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

instance = Myclass(name='Different Name')

这导致您的情况如下:

面板 pyviz 应用名称已更改

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

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

例如,如果您不想看到名称而只是使用pn.pane.HTML()添加不同标题之类的东西,您可以这样做。

于 2021-01-07T17:54:01.707 回答