我正在使用IPython模块在Jupyter Notebook上开发一个项目,我正在尝试同时显示小部件和Markdown格式的文本。但是,在显示小部件之前,我无法显示文本。以下代码段,例如:
import ipywidgets as widgets
from IPython.display import display, Markdown
display(Markdown("## Enter your name"))
name = widgets.Text(description="Enter your name: ")
display(name)
显示this output,即使我要求在显示小部件之前显示降价。如何强制Jupyter Notebook按我想要的顺序显示?
答案 0 :(得分:1)
我相信这个错误已在ipywidgets的最新版本7中得到修复。更新到7.0后尝试相同的代码。您可以使用以下命令进行升级(假设您在anaconda上运行)。
conda install -c conda-forge ipywidgets
如果它仍然无效,请尝试使用dominate和HTML小部件。首先安装从命令行pip install dominate
支配,然后您可以运行以下命令;
import ipywidgets as widgets
from dominate import tags
from IPython.display import display
header = widgets.HTML(tags.h2("Enter your name").render())
name = widgets.Text(description="Enter your name: ")
display(header, name)
对于改进的布局,此处的代码与HBox
和Label
小部件的上述代码相同;
import ipywidgets as widgets
from dominate import tags
from IPython.display import display
header = widgets.HTML(tags.h3("Enter your name").render())
name = widgets.Text()
namebox = widgets.HBox([widgets.Label("Enter your name: "), name])
display(header, namebox)