问题描述
我在笔记本中有一个小部件文本,如下所示:
myinput = widgets.Text(value='',palceholder='introduce your number')
def myinput_handler(sender):
'''
'''
#do something
myinput.on_submit(myinput_handler)
# button
my_btn = widgets.Button(description='LOAD')
def my_btn_handler(change):
if len(myinput.value) == '':
my_input.value = 3333
else:
dossier = myinput.value
##### ---> RUN myinput_handler(sender)
my_btn.on_click(my_btn_handler)
基本上,我想找到的是一种运行与提交小部件文本相同的代码的方法,但是单击一个按钮
那里有什么主意吗?
解决方法
鉴于观察到的是在函数运行时只是通过小部件,难道您不能只运行处理程序函数并将小部件作为传递提交的参数直接传递给小部件吗?
import ipywidgets as widgets
myinput = widgets.Text(value='',placeholder='introduce your number')
def myinput_handler(sender):
print(sender.value)
myinput.on_submit(myinput_handler)
display(myinput)
# button
my_btn = widgets.Button(description='LOAD')
def my_btn_handler(change):
if len(myinput.value) == 0:
myinput.value = '3333'
else:
dossier = myinput.value
myinput_handler(myinput)
my_btn.on_click(my_btn_handler)
display(my_btn)