Я бы хотел создать панель управления с pyviz/panel
, чтобы она не обновлялась в реальном времени, как только значения виджетов будут изменены. Вместо этого я бы хотел, чтобы он дождался нажатия кнопки и только затем соответствующим образом изменил значения на приборной панели.
Ниже приведен минимальный рабочий пример. Здесь я хотел бы генерировать случайные числа каждый раз, когда нажимается кнопка, но, похоже, она ничего не делает.
В моей реальной задаче я бы нажал на базу данных, чтобы получить несколько строкданных на основе входных виджетов. Я полагаю, что это может работать так же?
import numpy as np
import pandas as pd
import param
import panel as pn
pn.extension()
class UserDash(param.Parameterized):
mean = pn.widgets.IntSlider(value=10, start=0, end=100)
output_pane = pn.widgets.TextInput(value='Ready')
button = pn.widgets.Button(name='Generate', button_type='primary')
button.on_click(output_pane)
@param.depends('button')
def output_pane(self):
print(self.mean.value)
df = pd.DataFrame({'x': np.random.normal(int(self.mean.value), 1, 5)}, index=range(5))
return df
def panel(self):
return pn.Column(self.mean, self.button, self.output_pane)
dash = UserDash()
dash.panel().servable()
Я использую панель 0.6.0, работающую на Jupyter 6.0.0. Спасибо!