【问题标题】:How to display ipywidgets.Dropdown without a value selected如何在没有选择值的情况下显示 ipywidgets.Dropdown
【发布时间】:2017-11-03 16:09:33
【问题描述】:

没有问题了。问题在于较旧的 ipywidgets 版本行为,看起来在版本 7 中已修复。

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

【问题讨论】:

    标签: jupyter-notebook ipywidgets


    【解决方案1】:

    您只需将下拉值设置为None:

    import ipywidgets as widgets
    
    d = widgets.Dropdown(options=['hello', 'world'], value=None)
    d
    

    【讨论】:

    • 是的,我能够将 None 设置为值,但只有在将我的 ipywidgets 从 6.0.1 升级到 7.0.0 之后。看到这样的基本行为只在如此高的版本号中得到修复,我感到非常惊讶。
    【解决方案2】:

    在 'ipywidgets' 版本 7.2.1 中,您需要禁用用户更改才能通过将其设置为 False 来显示小部件,如下所示:

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

    【讨论】:

      猜你喜欢
      • 2015-12-22
      • 1970-01-01
      • 2021-01-30
      • 2019-10-19
      • 2015-02-23
      • 2014-10-08
      • 1970-01-01
      • 2013-07-04
      • 2022-01-06
      相关资源
      最近更新 更多