首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何放下和放置ipywidgets

如何放下和放置ipywidgets
EN

Stack Overflow用户
提问于 2016-05-04 04:10:54
回答 3查看 9.6K关注 0票数 5

有没有办法控制ipywidget的位置和对齐(在jupyter笔记本中)?

代码语言:javascript
运行
复制
from ipywidgets import widgets
from IPython.display import Javascript, display
event_type_ui = widgets.Text(value='open', description='Test Event')
platform_ui = widgets.Text(value='Android', description='Control Event')
display(event_type_ui)
display(platform_ui)

我想指定一个偏移量(以像素为单位?)以使标签适合并使两个控件垂直对齐。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-05 18:36:02

经过一番摆弄,我得到了这个:

之前:

之后:

如果感兴趣,这里有一个复制-粘贴代码片段:

代码语言:javascript
运行
复制
from ipywidgets import widgets
from IPython.display import Javascript, display

align_kw = dict(
    _css = (('.widget-label', 'min-width', '20ex'),),
    margin = '0px 0px 5px 12px'
)
platform_ui = widgets.Dropdown(description = 'platform',options=['iPhone','iPad','Android'], **align_kw)
event_type_ui = widgets.Text(value='open', description='Test Event', **align_kw)
os_version_ui = widgets.Text(value='iOS9', description='Operating System', **align_kw)
refresh_ui = widgets.Checkbox(description='Force Refresh', **align_kw)

display(platform_ui,event_type_ui,os_version_ui,refresh_ui)
票数 9
EN

Stack Overflow用户

发布于 2016-08-05 13:47:32

ipywidgetslayout and styling documentation说:

Jupyter每个交互式小部件都有一个布局属性,该属性公开了许多

属性,这些属性会影响小部件的布局。

我成功地把标签对齐了:

from ipywidgets import Text, HBox, VBox, Box from IPython.display import display widget1 = Text(value='Cats', description='Test Event', layout='margin-right:5px') widget2 = Text(value='Oranges', description='Another Test Event') widget1.width = '200px' widget2.width = '150px' display(VBox([widget1, widget2]))

要产生这样的结果:

但总的来说,我们似乎不能直接针对description标签的布局属性,而只能针对整个小部件本身。

票数 1
EN

Stack Overflow用户

发布于 2018-10-13 06:20:49

ipywidgets也有一个add_class,当你真正需要它的时候,它可以用来进入杂草:

代码语言:javascript
运行
复制
import ipywidgets as widgets
from IPython.display import display, HTML
widget_list={}
for label in ("longish description","brief"):
    widget_list[label]=widgets.Text(description=label)
    widget_list[label].add_class("balanced-text")

display(HTML("<style>div.balanced-text .widget-label {max-width:200px; width:200px}</style>"))
display(widgets.VBox(list(widget_list.values())))

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37013489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档