在参数化类(holoviz PARAM面板)使用PARAM时得到不同的(非默认)控件(Get a d

2019-10-29 08:12发布

我用一个参数化类建立我的面板的仪表板。

我想用一个CrossSelector但这个选择似乎并没有看那个图书馆帕拉姆给出的选项时可用。 它只是似乎有一个ListSelector 。

我如何使用帕拉姆得到这个CrossSelector?

import param
import panel as pn

pn.extension('bokeh')

class ValveExplorer(param.Parameterized):

    selected_features = param.ListSelector(
        default=[1, 3],
        objects=[1, 2, 3, 4],
    )

# show list selector
pn.Row(valve_explorer.param['selected_features'])

这将导致以下默认ListSelector,但我不希望这一个。 我想获得一个CrossSelector代替:

Answer 1:

帕拉姆对每一个选择一个默认的窗口小部件,但你可以改变这一点。

可以按如下方式使用pn.Param(),以获得在您的示例CrossSelector覆盖这个默认的部件:

pn.Row(pn.Param(
    valve_explorer.param['selected_features'], 
    widgets={'selected_features': pn.widgets.CrossSelector}
))

有关使用帕拉姆与面板这里更多的文档:
https://panel.pyviz.org/user_guide/Param.html



文章来源: Get a different (non default) widget when using param in parameterized class (holoviz param panel)