Python 如何删除或禁用ipywidget';Jupyter笔记本中的小部件清除按钮?
我试图在Jupyter/IPython笔记本中为Python代码编写一个简单的用户界面。我用的是神奇的。我需要找到一种方法防止用户通过意外单击小部件左侧的Python 如何删除或禁用ipywidget';Jupyter笔记本中的小部件清除按钮?,python,ipython-notebook,jupyter-notebook,ipywidgets,Python,Ipython Notebook,Jupyter Notebook,Ipywidgets,我试图在Jupyter/IPython笔记本中为Python代码编写一个简单的用户界面。我用的是神奇的。我需要找到一种方法防止用户通过意外单击小部件左侧的×(小部件左侧的X)来清除小部件。我花了好几个小时寻找一种简单的方法。以下是一个简单的、最简单的Jupyter笔记本电池问题示例: import ipywidgets import IPython.display w = ipywidgets.IntSlider() IPython.display.display(w) 结果是一个滑块,滑
×
(小部件左侧的X
)来清除小部件。我花了好几个小时寻找一种简单的方法。以下是一个简单的、最简单的Jupyter笔记本电池问题示例:
import ipywidgets
import IPython.display
w = ipywidgets.IntSlider()
IPython.display.display(w)
结果是一个滑块,滑块左侧有小部件清除按钮X
:
如何删除或禁用小部件清除按钮,以便用户不会意外清除小部件?我正在研究相同的问题,并通过一些黑客解决了它。因此,在这里给出我的解决方案: 在跑步笔记本中,在单元格中运行以下代码:
from IPython.display import HTML
htmlscript_ipywidget_disable_closing = '''<script>
disable = true
function disable_ipyw_close(){
if(disable){
$('div.widget-area > div.prompt > button.close').hide()
}
else{
$('div.widget-area > div.prompt > button.close').show()
}
disable = !disable
}
$( document ).ready(disable_ipyw_close);
</script>
<form action="javascript:disable_ipyw_close()"><input style="opacity: 0.5" type="submit" value="Disable ipywidget closing"></form>'''
# change opacity to 0 to hide this button itself
HTML(htmlscript_ipywidget_disable_closing)
从IPython.display导入HTML
htmlscript_ipywidget_disable_closing=''
禁用=真
功能禁用\u ipyw\u关闭(){
如果(禁用){
$('div.widget-area>div.prompt>button.close').hide()
}
否则{
$('div.widget-area>div.prompt>button.close').show()
}
禁用=!禁用
}
$(文档).ready(禁用ipyw\U关闭);
'''
#将“不透明度”更改为0以隐藏此按钮本身
HTML(htmlscript\u ipywidget\u禁用\u关闭)
输出中将出现一个按钮,用于切换这些ipywidget close按钮的可见性。
这一点很大程度上受到了顶部答案的启发,即隐藏所有输入单元格。查看小部件的自定义样式,或者应用javascript黑客隐藏它?