如何从“ipywidgets”更改用“interact_manual”创建的按钮标签?以及如何更改该按钮的大小和颜色?

Meh*_*deh 6 python button jupyter-notebook ipywidgets

如何从“ipywidgets”更改用“interact_manual”创建的按钮标签?以及如何更改该按钮的大小和颜色?

这是我写的

from ipywidgets import interact,interact_manual
def HDI_vs_CrimeRate():
    #do some thing here
interact_manual(HDI_vs_CrimeRate)
Run Code Online (Sandbox Code Playgroud)

这是按钮的样子: 1 感谢您的帮助

ac2*_*c24 8

您可能需要升级您的 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)
Run Code Online (Sandbox Code Playgroud)

编辑:对于颜色,您可以使用 im.widget.children[0].style.button_color = 'red'。


sim*_*mon 6

更改按钮文本的首选方式(截至 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);
Run Code Online (Sandbox Code Playgroud)

这方面的文档有点稀缺,仅在7.2 版本的ipywidgets 变更日志中提到。