ipywidgets:最小化按钮宽度以仅显示图标?
ipywidgets: minimizing button width to just show icon?
我有 VBox
个 HBox
个实例,每个 HBox
包含一个 Text
和一个 Button
个实例:
这里是代码是我用的代码:
style = {'description_width': '125px', 'width': '90%'}
for rest_id, prompt_text in fields.items():
self.widgets[rest_id] = ipy.Text(
description=prompt_text,
disabled=False,
layout = ipy.Layout(width='99%'),
style=style)
self.widgets[f"{rest_id}_button"] = ipy.Button(icon='cloud-upload')
vbox_widgets.append(ipy.HBox(children=[self.widgets[rest_id], self.widgets[f"{rest_id}_button"]]))
self.widgets['meta_vbox'] = ipy.VBox(children=vbox_widgets)
有没有办法确定 HBox
中每个项目获得的百分比?或者将 HBox
元素固定为固定像素数?我希望 Button
个实例足够大以显示图标,仅此而已。
感谢
如果您为按钮指定特定宽度(或专用 Layout
),则其余对象应调整以填充 space,这是否符合您的要求?:
import ipywidgets as ipy
fields = {'a': '1', 'b': '2'}
widgets = {}
vbox_widgets = []
style = {'description_width': '125px', 'width': '90%'}
button_layout = ipy.Layout(width='40px')
for rest_id, prompt_text in fields.items():
widgets[rest_id] = ipy.Text(
description=prompt_text,
disabled=False,
layout = ipy.Layout(width='99%'),
style=style)
widgets[f"{rest_id}_button"] = ipy.Button(icon='cloud-upload', layout=button_layout)
vbox_widgets.append(ipy.HBox(children=[widgets[rest_id], widgets[f"{rest_id}_button"]]))
ipy.VBox(children=vbox_widgets, layout=ipy.Layout(width='400px'))
对于更复杂的布局,请查看 GridBox class:https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20Styling.html#The-Grid-layout
对于以后的问题,如果您包括所有导入、模拟字典等,就会容易得多。如果我可以复制并粘贴您的代码并运行,则更容易给出答复。
我有 VBox
个 HBox
个实例,每个 HBox
包含一个 Text
和一个 Button
个实例:
这里是代码是我用的代码:
style = {'description_width': '125px', 'width': '90%'}
for rest_id, prompt_text in fields.items():
self.widgets[rest_id] = ipy.Text(
description=prompt_text,
disabled=False,
layout = ipy.Layout(width='99%'),
style=style)
self.widgets[f"{rest_id}_button"] = ipy.Button(icon='cloud-upload')
vbox_widgets.append(ipy.HBox(children=[self.widgets[rest_id], self.widgets[f"{rest_id}_button"]]))
self.widgets['meta_vbox'] = ipy.VBox(children=vbox_widgets)
有没有办法确定 HBox
中每个项目获得的百分比?或者将 HBox
元素固定为固定像素数?我希望 Button
个实例足够大以显示图标,仅此而已。
感谢
如果您为按钮指定特定宽度(或专用 Layout
),则其余对象应调整以填充 space,这是否符合您的要求?:
import ipywidgets as ipy
fields = {'a': '1', 'b': '2'}
widgets = {}
vbox_widgets = []
style = {'description_width': '125px', 'width': '90%'}
button_layout = ipy.Layout(width='40px')
for rest_id, prompt_text in fields.items():
widgets[rest_id] = ipy.Text(
description=prompt_text,
disabled=False,
layout = ipy.Layout(width='99%'),
style=style)
widgets[f"{rest_id}_button"] = ipy.Button(icon='cloud-upload', layout=button_layout)
vbox_widgets.append(ipy.HBox(children=[widgets[rest_id], widgets[f"{rest_id}_button"]]))
ipy.VBox(children=vbox_widgets, layout=ipy.Layout(width='400px'))
对于更复杂的布局,请查看 GridBox class:https://ipywidgets.readthedocs.io/en/latest/examples/Widget%20Styling.html#The-Grid-layout
对于以后的问题,如果您包括所有导入、模拟字典等,就会容易得多。如果我可以复制并粘贴您的代码并运行,则更容易给出答复。