问题
How can I use a container widget to control the layout while using interact? For instance, I'd like those 2 Select to be in a HBox.
from IPython.html import widgets
from IPython.display import display
def f(dl, ft):
print dl, ft
dlW = widgets.Select(options={str(k):k for k in range(4)})
ftW = widgets.Select(options={str(k):k for k in 'ABCD'})
hbox=widgets.HBox([dlW, ftW])
i = widgets.interact(f,
dl = dlW,
ft = ftW
)
# display( hbox ) # <-- commenting in makes the widget display twice
回答1:
Found a solution using interactive instead of interact
dlW = widgets.Select(options={str(k):k for k in range(4)})
ftW = widgets.Select(options={str(k):k for k in 'ABCD'})
i = widgets.interactive(f,
dl = dlW,
ft = ftW
)
hbox=widgets.HBox(i.children)
display( hbox )
来源:https://stackoverflow.com/questions/29332777/widget-layout-when-using-interact