【问题标题】:Get a different (non default) widget when using param in parameterized class (holoviz param panel)在参数化类(holoviz 参数面板)中使用参数时获取不同的(非默认)小部件
【发布时间】:2019-09-15 11:14:16
【问题描述】:

我使用参数化类来构建我的 Panel 仪表板。

我想使用CrossSelector,但在查看库参数提供的选项时,此选择器似乎不可用。它似乎只有一个ListSelector

如何使用 Param 获得这个 CrossSelector?

import param
import panel as pn

pn.extension()

class ValveExplorer(param.Parameterized):

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

valve_explorer = ValveExplorer()  

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

这会产生以下默认 ListSelector,但我不想要这个。我想换一个 CrossSelector:

【问题讨论】:

    标签: python holoviz panel-pyviz param-pyviz


    【解决方案1】:

    Param 对每个 Selector 都有一个默认小部件,但您可以更改它。

    您可以使用 pn.Param() 覆盖此默认小部件,以获取示例中的 CrossSelector:

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


    similar solution found on SO 正在使用 pn.panel():

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


    在此处查看有关将 Param 与 Panel 结合使用的更多文档:
    https://panel.pyviz.org/user_guide/Param.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-30
      • 1970-01-01
      • 2019-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多