如何更改使用“interact_manual”从“ipywidgets”创建的按钮标签?如何更改该按钮的大小和颜色?
这是我写的
from ipywidgets import interact,interact_manual
def HDI_vs_CrimeRate():
#do some thing here
interact_manual(HDI_vs_CrimeRate)
按钮的外观如下:
感谢您的帮助
您可能需要升级您的 ipywidgets;对我来说,您的代码返回一个带有标签“Run Interact”的按钮,这比您的好一点,但还不是您想要的。
将您的interact_manual分配给一个变量,更改子小部件的描述文本,然后在您的交互上调用display()。这似乎可以完成工作,尽管可能有更优雅的方式。
from ipywidgets import interact, interact_manual
def HDI_vs_CrimeRate():
#do some thing here
im = interact_manual(HDI_vs_CrimeRate)
im.widget.children[0].description = 'changed'
display(im)
编辑:对于颜色,您可以使用 im.widget.children[0].style.button_color = 'red'。
更改按钮文本的首选方式(截至 2021 年 3 月)可能是通过
options
:
from ipywidgets import interact_manual
def HDI_vs_CrimeRate():
return ... # Do something here
my_interact_manual = interact_manual.options(manual_name="changed")
my_interact_manual(HDI_vs_CrimeRate);
这方面的文档有点匮乏,仅在 7.2 版本的 ipywidgets 变更日志中提到过。
通过使用装饰器:
from ipywidgets import interact, interact_manual
x=widgets.interact_manual.options(manual_name="changed")
@x
def HDI_vs_CrimeRate():
pass
如果使用
ipywidgets.interactive
,从“运行交互”更改为其他内容:
import datetime as dt
doit = lambda: print(dt.datetime.now())
w = widgets.interactive(doit, {'manual': True, "manual_name": "Refresh"})
display(w)