maybe this link can help you.
With that help, i adapted to your example.
import panel as pn
import param
pn.extension()
class DynamicWidgetBox(param.Parameterized):
options = param.ListSelector(objects= ['a','b','c','d'])
def __init__(self, **param):
super(DynamicWidgetBox, self).__init__(**param)
self.col1 = pn.Column(*pn.panel(self.param),
pn.Row())
@param.depends('options', watch=True)
def get_widgetBox(self):
selects = []
for v in self.options:
selects.append(pn.widgets.MultiSelect(name=v, options=[1,2,3,4,5]))
self.col1[2] = pn.WidgetBox(*selects, horizontal=True)
def panel(self):
return self.col1
DynamicWidgetBox().panel().servable()