Panel + Param настраиваемый виджет MultiFileSelector

Я пытался и не смог преобразовать MultiFileSelector Param в виджет, с которым можно было бы взаимодействовать. Из этого руководства я попробовал следующее.

class CustomExample(param.Parameterized):
    f = param.MultiFileSelector()

pn.Param(CustomExample.param, widgets={ 'f': pn.widgets.Multiselect})

Но я получаю ошибку,

---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-11-bb344c131fb8> in <module>
      5     #select_number = param.Selector(objects=[0, 1, 10, 100])
      6 
----> 7 pn.Param(CustomExample.param, widgets={ 'f': pn.widgets.Multiselect})

AttributeError: module 'panel.widgets' has no attribute 'Multiselect'

Любые указатели подойдут.


person user17161    schedule 20.01.2020    source источник


Ответы (1)


Поскольку вы используете param, вам необходимо проверить, какой параметр наиболее близок к вашему. ищем в этом случае param.MultiFileSelector:

class CustomExample(param.Parameterized):
    file_selector = param.MultiFileSelector(path='*')

pn.Param(CustomExample.param['file_selector'])

Будет показан следующий многофайловый селектор:  стандартный многофайловый селектор с параметром pyviz

Если вы хотите перейти на другой селектор, отличный от стандартного , вы можете сделать это следующим образом:

class CustomExample(param.Parameterized):
    file_selector = param.MultiFileSelector(path='*')

pn.Param(
    CustomExample.param['file_selector'], 
    widgets={'file_selector': pn.widgets.CrossSelector},
))

Результирующий селектор:  заменить селектор мультифайлов по умолчанию кросс-селектором панелей


Вы уже нашли эту документацию:
http://panel.holoviz.org/user_guide/Param.html

Но возможно также взгляните на эти SO-вопросы:
Получите другой виджет (не по умолчанию) при использовании параметра в параметризованном классе (панель параметров holoviz)

Как лучше всего изменить тип виджета в hvplot / объект holoviews / панель?

person Sander van den Oord    schedule 20.01.2020
comment
Спасибо @Sander. Я проверил предложенные ссылки, но не смог найти способ дважды щелкнуть папку и выбрать файлы в этой папке. Вроде как файловый браузер. - person user17161; 21.01.2020
comment
Ах, вы ищете селектор, в котором вы получаете файловый браузер и можете выбирать несколько файлов, например: panel.holoviz.org/reference/widgets/, но для нескольких файлов. Лучше всего задать свой вопрос здесь, надеюсь, они помогут вам: discourse.holoviz.org - person Sander van den Oord; 21.01.2020
comment
Как было предложено, я думаю, что лучше всего разместить свой вопрос здесь: discourse.holoviz.org - person Sander van den Oord; 21.01.2020