Я хотел бы знать, есть ли способ обновить содержимое панели panel
с помощью обратного вызова python.
Если я определю Parameterized
пользовательский класс следующим образом:
import panel as pn
pn.extension()
import param
class Myclass(param.Parameterized):
letter = param.ObjectSelector(
objects=['a', 'b', 'c', 'd'],
default='b',
)
@param.depends('letter')
def text(self):
return(pn.pane.Str(self.letter))
instance = Myclass()
Если я выведу этот экземпляр в свой блокнот, я получу следующее:
pn.Row(instance.param.letter, instance.text)
дает:
Однако, когда я выбираю другую запись в раскрывающемся списке, текст справа не обновляется:
Я знаю, что параметр был обновлен и что обратный вызов text
запущен (через отладку). Тем не менее, в моем ноутбуке нет обновлений.
Мне кажется, что этот пример очень похож на пример синусоидальной волны в документации (https://panel.holoviz.org/user_guide/Param.html), но я не понимаю, что делаю неправильно ...
В идеале ответ должен работать как с panel.pane.HTML
, так и с panel.pane.Str
.