Jupyter notebook 如何在未选择值的情况下显示ipywidgets.Dropdown

Jupyter notebook 如何在未选择值的情况下显示ipywidgets.Dropdown,jupyter-notebook,ipywidgets,Jupyter Notebook,Ipywidgets,没问题了。问题是较旧的ipywidgets版本行为在版本7中似乎已修复 ipywidgets.Dropdown本身会从选项列表中选择第一个值。我希望在未选择值的情况下显示小部件。列表中的第一个值是无意义的默认值,仍然需要在工作流路径中反映出来。我阅读了一篇讨论,其中一位开发人员甚至将空字符串项添加到列表中。这修复了下拉列表的外观(在某种程度上,占位符属性仍然被忽略),但在下拉列表中添加了一个可选择的空项。将虚拟“无”项添加到列表中并不是更好的解决方案。将值设置为“无”将导致“无效选择”例外情况。

没问题了。问题是较旧的ipywidgets版本行为在版本7中似乎已修复


ipywidgets.Dropdown本身会从选项列表中选择第一个值。
我希望在未选择值的情况下显示小部件。
列表中的第一个值是无意义的默认值,仍然需要在工作流路径中反映出来。我阅读了一篇讨论,其中一位开发人员甚至将空字符串项添加到列表中。这修复了下拉列表的外观(在某种程度上,占位符属性仍然被忽略),但在下拉列表中添加了一个可选择的空项。将虚拟“无”项添加到列表中并不是更好的解决方案。将值设置为“无”将导致“无效选择”例外情况。
我不明白为什么ipywidgets.Dropdown没有遵循更简单的小部件的方法,其中允许空值,并显示占位符文本以提示用户选择某个内容。
是否有方法使小部件选择不需要?一些我不知道的属性设置?如果这是不可能的,那么最简单的解决方法是什么?

您可以将下拉值设置为
None

将IPyWidget作为小部件导入
d=widgets.Dropdown(选项=['hello','world',value=None)
D

在“ipywidgets”7.2.1版中,您需要禁用用户更改,以便通过将小部件设置为False来显示小部件,如下所示:

d = widgets.Dropdown(options=['hello', 'world'], value=None, disabled=False)

是的,我可以将None设置为值,但只有在将我的ipywidgets从6.0.1升级到7.0.0之后。看到这样的基本行为只在如此高的版本号中得到修复,我们感到非常惊讶。